滚动到不与溢出一起工作的顶部脚本:滚动
Scroll to top script not working in conjunction with overflow:scroll
我写了这个滚动到顶部的脚本。一切都很好,但我在包装器div中应用了overflow:scroll。我需要overflow:scroll的原因是我有overflow:hidden for html/body标记。这对于我的自定义滚动条来说是必要的。我知道这会干扰这个脚本,但为什么呢?
这个剧本的部分效果很好。向下滚动时会出现"滚动到顶部",但单击后不会转到顶部。
我做错了什么?
这是Javascript:
<script>
jQuery(document).ready(function() {
var offset = 220;
var duration = 500;
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > offset) {
jQuery('.back-to-top').fadeIn(duration);
} else {
jQuery('.back-to-top').fadeOut(duration);
}
});
jQuery('.back-to-top').click(function(event) {
event.preventDefault();
jQuery('#wrapper').animate({scrollTop: 0}, duration);
return false;
})
});
</script>
我的CSS
<style>
.back-to-top {
position: fixed;
bottom: 2em;
right: 0px;
text-decoration: none;
color: #000000;
background-color: rgba(235, 235, 235, 0.80);
font-size: 12px;
padding: 1em;
display: none;
}
</style>
最后是Html:
<a href="#" class="back-to-top">Back to Top</a>
您的问题在这里:
jQuery(window).scroll(function(){
if (jQuery(this).scrollTop() > offset) { }
});
您要做的是检查"window"对象是否被滚动,以及当前的顶部偏移量是否大于"offset"变量,但随后您尝试在"#wrapper"内部滚动。
您应该做的是检查"#wrapper"是否被滚动,以及它是否达到了偏移量。
EDIT:如果你想滚动"window"对象,你应该像下面这样设置"body"DOM元素的动画;)
$('body').animate({scrollTop: 0}, duration);
相关文章:
- 滚动固定滚动顶部()的跳跃效果
- 当偏移量改变时滚动顶部
- 滚动顶部在滑动后不起作用切换
- 使滚动顶部始终检查
- 页面滚动在粘性页脚布局中保持滚动顶部位置
- 滚动顶部闪烁-Internet Explorer
- j查询滚动顶部麻烦
- 我如何使用滚动顶部()获取HTML文档的位置
- 滚动顶部到元素 - 20px
- JQuery 偏移和滚动顶部问题
- 滚动事件仅在滚动顶部时触发
- 单击并滚动顶部
- 每次在顶部滚动顶部重置
- IE <选择>滚动顶部
- 打开对话框正在更改我的滚动顶部位置
- 为什么有时滚动顶部/滚动左不可写
- 滚动顶部 Jquery
- 数据表在页面更改时滚动顶部
- 使用滚动顶部显示滚动的像素
- 可以 jQuery invalidHandler 通过父窗口中的 iframe 滚动顶部