webapp中的局部滚动怎么实现?
【目标】:
在html5页面中,用定位position:fixed做一个弹层div.layout,当div.layout显示时,它下面的所有内容都不能滚动,但.layout中的内容可以滚动。
几个月前就在项目中做过这个需求,网上查了很多办法,其中说的最多的有:
1.用overflow: hidden;
//实践证明,这个只是在PC中好使,在移动端浏览器中完全不起作用。
2.用e.preventDefault();
//实践证明,这个方法会令页面内所有元素都不滚动。
后来,我发现tmall移动端弹层时,同样会出现背景内容跟随移动的问题,当下判断这可能是html5在移动端的一个缺陷……直到最近,我用手机访问了zara官网:http://m.zara.cn/cn/(移动浏览器或PC Chrome的模拟器中直接输入zara.cn就可以)
没错,这个网站完美解决了我的需求!!!
那么【问题】来了:
它是怎么实现的呢?
求大神们指点!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要实现局部滚动,一般都是用iScroll等插件,用javascript来模拟滚动
最近也被这个问题给困扰,用了许多方法(其中就有什么voerflow:hidden)但是完全没有用!最后老老实实的用上了一个牛逼的插件:iScroll~然后开开心心的解决了
试过阻止事件冒泡么?这里有个相同的问题
谢谢各位的回复。之前知道有这么个插件,但一直以为只是调滚动条样式用的,看到大家推荐,决定试用了一下iScroll,果然好用!完全达到想要的效果!