[英]How to scroll to the top of page in IE with jQuery
我在下面使用jQuery的Javascript在页面上显示了一个div,当单击该div时,它会慢慢将页面滚动回到页面顶部,它与chrome和firefox兼容,但是在IE 8上使用时,它会立即转到顶部而不是较慢的向上滚动
谁能告诉我如何克服这个问题?
// BACK TO TOP
jQuery(window).scroll(function() {
if (jQuery(window).scrollTop() > 0) $('#jump-link').show();
else
$('#jump-link').hide();
});
jQuery('#jump-link').click(function() {
jQuery('html, body').stop().animate({
scrollTop: 0
}, 900);
return false;
});
这是因为重复调用onscroll处理程序。 在将滚动动画化到顶部之前,请删除onscroll处理程序,然后再将其重新添加。 同上,将第二个块替换为:
jQuery('#jump-link').click(function() {
jQuery(window).unbind('scroll');
$('#jump-link').hide();
jQuery('html, body').stop().animate({
scrollTop: 0
}, 900, function() {
jQuery(window).scroll(function() { ... });
});
return false;
});
请注意,您可以通过命名滚动功能来清理代码,并在取消绑定和重新绑定功能中按名称引用它。
(我假设您已经检查了$.fx.off
更真实的可能性,对吗?)
$.fn.scrollView = function() {
return this.each(function() {
$('html, body').animate({
scrollTop: $(this).offset().top
}, 1000);
});
};
像那样使用
$('html').scrollView();
您可以在这里摆弄(只需滚动页面底部并单击最后一个列表项)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.