如果点击按钮,有没有一种简单的方法强制浏览器滚动到页面顶部?
我已经尝试过
jQuery('html').scrollTop();
jQuery('body').scrollTop();
jQuery(window).scrollTop();
它们似乎都无法滚动到页面顶部。
如果点击按钮,有没有一种简单的方法强制浏览器滚动到页面顶部?
我已经尝试过
jQuery('html').scrollTop();
jQuery('body').scrollTop();
jQuery(window).scrollTop();
它们似乎都无法滚动到页面顶部。
由于跨浏览器的奇怪问题,某些浏览器会响应 'html'
,而其他浏览器则会响应'body'
。也许这只是我的运气不好,但使用.scrollTop(0)
从未成功过。试试这个:
jQuery('html,body').animate({scrollTop:0},0);
这个版本已经过测试,可以在所有桌面浏览器和移动设备上运行。
简单纯粹的JavaScript代码,也适用于移动设备
window.scrollTo(0,0);
你可以使用以下内容:
jQuery('body').scrollTop(0);
jQuery(window).scrollTop(0);
或最后这个:
jQuery('html').scrollTop(0);
scrollTop
方法并使页面滚动,您需要传递一个参数,该参数是表示scrollTop位置的数值。否则,它将起到获取scrollTop位置的作用。jQuery('html, body').scrollTop(0);
- VisioN既然没有人提到所需的HTML,我在这里补充一下。
首先创建你的锚点元素:
<a href="#" title="回到顶部" class="ScrollTop">回到顶部</a>
请注意,class 在下面的 jQuery 中被引用。
然后添加你的 jQuery:
$(document).ready(function(){
$('.ScrollTop').click(function() {
$('html, body').animate({scrollTop: 0}, 800);
return false;
});
});
要调整动画速度,请更改“800”值。
这是跨浏览器的方法,
function scrollableElement(els) {
for (var i = 0, argLength = arguments.length; i <argLength; i++) {
var el = arguments[i],
$scrollElement = $(el);
if ($scrollElement.scrollTop()> 0) {
return el;
} else {
$scrollElement.scrollTop(1);
var isScrollable = $scrollElement.scrollTop()> 0;
$scrollElement.scrollTop(0);
if (isScrollable) {
return el;
}
}
}
return [];
}
var scrollElem = scrollableElement('html', 'body');
$(scrollElem).scrollTop(0);
来自css-tricks的代码