目前能想到的有
大家有没有更好的方法?
高洛峰2017-04-10 14:24:26
个人感觉第二种最好,而且 twitter 、QQ 空间、fancybox 插件等都采用的这种方法。JS 越简单越好。至于遇到的内容偏移的问题,解决方法就是获取当前浏览器下滚动条宽度,然后再进行赋值。
从 fancybox 插件中提取出来的检测方法大体如下:
w1 = $(window).width();
H.addClass('fancybox-lock-test');
w2 = $(window).width();
H.removeClass('fancybox-lock-test');
$("<style type='text/css'>.fancybox-margin{margin-right:" + (w2 - w1) + "px;}</style>").appendTo("head");
检测添加类的目的就是取消滚动条,显然是下面这样
.fancybox-lock-test {
overflow-y: hidden !important;
}
更详细的分析,自荐一篇文章 再谈弹窗那些事