webapp中的局部滚动怎么实现?

发布于 2022-09-01 20:41:34 字数 672 浏览 34 评论 0

【目标】:
在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就可以)
m.zara.cn

没错,这个网站完美解决了我的需求!!!

那么【问题】来了:
它是怎么实现的呢?
求大神们指点!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

扭转时空 2022-09-08 20:41:34

要实现局部滚动,一般都是用iScroll等插件,用javascript来模拟滚动

带上头具痛哭 2022-09-08 20:41:34

最近也被这个问题给困扰,用了许多方法(其中就有什么voerflow:hidden)但是完全没有用!最后老老实实的用上了一个牛逼的插件:iScroll~然后开开心心的解决了

楠木可依 2022-09-08 20:41:34

试过阻止事件冒泡么?这里有个相同的问题

心房的律动 2022-09-08 20:41:34

谢谢各位的回复。之前知道有这么个插件,但一直以为只是调滚动条样式用的,看到大家推荐,决定试用了一下iScroll,果然好用!完全达到想要的效果!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文