最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery操作dom實(shí)現(xiàn)彈出頁(yè)面遮罩層(web端和移動(dòng)端阻止遮罩層的滑動(dòng))

 更新時(shí)間:2016年08月25日 14:02:53   作者:王小傘  
實(shí)現(xiàn)彈出遮罩層的方法有很多種,接下來(lái)本文給大家介紹通過(guò)jquery操作dom實(shí)現(xiàn)彈出頁(yè)面遮罩層以及web端和移動(dòng)阻止遮罩層的滑動(dòng),對(duì)頁(yè)面彈出遮罩層的相關(guān)知識(shí)感興趣的朋友一起看看吧

最近項(xiàng)目遇到了遮罩層的一些問(wèn)題,總結(jié)一下:

彈出遮罩層

遮罩層彈出有非常多的方法,這里只寫(xiě)出本人用的代碼,使用jq操作dom的方法進(jìn)行實(shí)現(xiàn)的。

<style>.box{position:absolute;width:100%;left:50%;height:auto;z-index:100;background-color:#f5f5f5;border:1px #ddd solid;padding:1px;}</style><div id="bg" v-click="closeMask()"></div>
<div class="box" style="display:none">
<input v-click="closeMask()" class="inpt_bottomb white" value="取 消" type="button" />
<div class="clear"></div>
</div> 
</div>

#bg為透明度為0.6的一個(gè)遮罩頁(yè)面,.box為遮罩層上的按鈕。

//彈出遮罩
$("#bg").css({
display: "block", height: $(document).height()
});
var $box = $('.box');
$box.css({
//設(shè)置彈出層距離左邊的位置
left: ($("body").width() - $box.width()) / 2 -5 + "px",
//設(shè)置彈出層距離上面的位置
top: ($(window).height() - $box.height()) + $(window).scrollTop() + "px",
display: "block"
});

有了觸發(fā)遮罩的行為后,設(shè)置遮罩的高度為整個(gè)頁(yè)面高度和可見(jiàn)性可見(jiàn),然后對(duì)按鈕出現(xiàn)的位置進(jìn)行定位布局的設(shè)置,需要注意的是top屬性要加上滾輪的高度,這樣會(huì)保證我們的按鈕會(huì)一直在視線之內(nèi)。

關(guān)閉遮罩時(shí)也只需設(shè)置可見(jiàn)性即可。

效果圖

遇到問(wèn)題

功能上是可以實(shí)現(xiàn)的,但還是有些缺陷問(wèn)題,比如頁(yè)面過(guò)長(zhǎng)時(shí)遮罩層也會(huì)隨著頁(yè)面進(jìn)行滑動(dòng),按鈕的位置就會(huì)發(fā)生變化:

解決方案PC端

pc端的解決思路就是在彈出遮罩層的時(shí)候取消已經(jīng)存在的滾動(dòng)條,達(dá)到無(wú)法滾動(dòng)的效果。

也就是說(shuō)給body添加overflow:hidden屬性即可,IE6、7下不會(huì)生效,需要給html增加overflow:hidden屬性。

解決方案移動(dòng)端

移動(dòng)端取消滾動(dòng)條是達(dá)不到效果的,這時(shí)就需要去除遮罩層和按鈕層的touchmove的默認(rèn)事件,代碼如下:

$('.box,#bg').bind("touchmove",function(e){
e.preventDefault();
});

相關(guān)文章

最新評(píng)論

余姚市| 穆棱市| 荃湾区| 镇原县| 微山县| 濮阳市| 苍山县| 磐石市| 常州市| 五寨县| 泾阳县| 荔浦县| 乌拉特前旗| 泸定县| 瑞金市| 仪征市| 漳浦县| 呼伦贝尔市| 北宁市| 武山县| 达州市| 滁州市| 鹿泉市| 怀化市| 临城县| 兴宁市| 仪陇县| 河西区| 无锡市| 房山区| 镇沅| 靖江市| 乐山市| 扎兰屯市| 金堂县| 阿勒泰市| 深圳市| 华坪县| 深泽县| 仙游县| 南乐县|