设置overflow-y:auto后,jQuery的scrollTop(0)失效如何解决?
解决带overflow-y:auto的div滚动到顶部问题
问题核心很明确:你之前操作的是window的滚动,但实际页面的滚动容器是那个加了overflow-y: auto的主div,而不是整个窗口。所以只要把滚动操作的目标换成这个主div就行。
具体操作步骤:
- 先找到这个主div的选择器(比如它有id
main-wrap,或者你可以通过浏览器开发者工具的元素检查功能定位到它) - 把原来的
$(window).scrollTop(0);替换成针对这个div的代码:
举个例子,如果主div的class是$('#你的主div选择器').scrollTop(0);content-container,那代码就是$('.content-container').scrollTop(0);
如果需要绑定触发事件(比如点击回到顶部按钮),可以这么写:
// 假设按钮id是top-btn $('#top-btn').click(function() { $('#main-wrap').scrollTop(0); });
注意:如果页面里有多层带overflow的容器,一定要确认哪个才是实际承载滚动内容的容器,别选错了对象。
内容的提问来源于stack exchange,提问作者Faizan Naeem
相关产品推荐
相关产品推荐

