得到 window.scrollTo(0, 0);上班
Getting window.scrollTo(0, 0); to work
我知道这个问题可能被问过并解决了一千次,但我需要针对我的具体情况的建议。
我在我的网站上设置了几个锚点,我正在使用 jquery 在它们之间平滑滚动。我一直在使用 #top
锚点滚动到页面顶部并且它有效。但是,问题是,如果我让按钮滚动到#top,它不会滚动到页面的绝对顶部(因为我无法在网页上将锚点设置得足够高)。
我试图让它与 window.scrollTo(0, 0);
命令一起工作,但我不知道如何让它在仍然可以滚动到锚点的情况下工作。
我使用了以下 jQuery 作为锚点滚动:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
有了这个 HTML:
<a href="#top">
<img alt="" heigth="60" onmouseout="this.src='http://i.imgur.com/0JvWWER.png'" onmouseover="this.src='http://i.imgur.com/Ow7CVn0.png'" src="http://i.imgur.com/0JvWWER.png" width="60" />
</a>
现在,如何让 window.scrollTo(0,0);
工作以及如何在 html 正文中实现它?
提前致谢。
正如somethinghere所说,在这里做一个小改动:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = $(this).attr("href");
$('html, body').stop().animate({
// Change here...
'scrollTop': ((target === '#top') ? 0 : $(target).offset().top)
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
我知道这个问题可能被问过并解决了一千次,但我需要针对我的具体情况的建议。
我在我的网站上设置了几个锚点,我正在使用 jquery 在它们之间平滑滚动。我一直在使用 #top
锚点滚动到页面顶部并且它有效。但是,问题是,如果我让按钮滚动到#top,它不会滚动到页面的绝对顶部(因为我无法在网页上将锚点设置得足够高)。
我试图让它与 window.scrollTo(0, 0);
命令一起工作,但我不知道如何让它在仍然可以滚动到锚点的情况下工作。
我使用了以下 jQuery 作为锚点滚动:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
有了这个 HTML:
<a href="#top">
<img alt="" heigth="60" onmouseout="this.src='http://i.imgur.com/0JvWWER.png'" onmouseover="this.src='http://i.imgur.com/Ow7CVn0.png'" src="http://i.imgur.com/0JvWWER.png" width="60" />
</a>
现在,如何让 window.scrollTo(0,0);
工作以及如何在 html 正文中实现它?
提前致谢。
正如somethinghere所说,在这里做一个小改动:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = $(this).attr("href");
$('html, body').stop().animate({
// Change here...
'scrollTop': ((target === '#top') ? 0 : $(target).offset().top)
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});