关于弹出层的总结

来源:转载

关于弹出层的我的做法:

       例如:点击“修改”按钮,弹出弹出框,并将需要修改的信息附到弹出框中;

       思路:

      1. 点击修改按钮,弹出阴影遮罩,阴影遮罩的样式代码如下:

 .mask{width: 100%;height: 100%;background: rgba(0,0,0,0.5);position: fixed;z-index: 100;display: none; }
      2.在阴影遮罩上弹出弹出框,让弹出框出现在浏览器窗口的中间位置,弹出框的css样式代码如下:

 .upd_layer{position:fixed;width:800px; height:350px;background-color:#fff;left:50%;top:50%;margin-left:-400px;display:none;margin-top:-250px;z-index:111;overflow:auto;padding-top:10px; }
     3.弹出后发现阴影遮罩下的页面还可以鼠标进行滚动,在js代码中增加弹出时给body 设置“overflow:hidden”样式,解决此问题,js代码如下:
 $(".mask").show(); $(".upd_layer").show(); $("body").css("overflow","hidden");
           

     最后,发现在浏览器高度缩小时,弹出层的上部分可能被挡,可能影响小屏幕下的弹出效果,写了一段调整位置的函数解决此问题,js代码如下:

     

 //随时调整弹出层的位置 function adjustTanchuPos() { $('.upd_layer').height($(window).height() * 0.5);$('.upd_layer').css('margin-top', $('.upd_layer').height() * -0.5); } adjustTanchuPos(); $(window).resize(adjustTanchuPos);
     这样,该弹出层在窗口大小变动时,利用了jQuery中的resize()方法会随时调整弹出层的位置。

    完整的demo详见我的github: https://github.com/pluscai/tanchu_demo/blob/master/tanchu




分享给朋友:
您可能感兴趣的文章:
随机阅读: