我定义了这些变量:
var about = 0;
var music = $('.music-main').offset();
var programming = $('.programming-main').offset();
var contact = $('.contact-main').offset();
然后尝试在按钮点击时动画滚动到我页面上的特定部分。
case 0: $("html, body").animate({ scrollTop: 0}); break;
case 1: $("html, body").animate({ scrollTop: music.top}); break;
case 2: $("html, body").animate({ scrollTop: programming.top}); break;
case 3: $("html, body").animate({ scrollTop: contact.top}); break;
但它会滚动到其他位置。它甚至可以滚动到每个元素的不同位置。
答案 0 :(得分:0)
确保仅在页面加载后调用偏移量,否则坐标将不正确。
所以做这样的事情:
$( window ).load(function() {
var about = 0;
var music = $('.music-main').offset();
var programming = $('.programming-main').offset();
var contact = $('.contact-main').offset();
}
在点击时计算偏移量会更好,因此加载和点击之间页面大小的变化不会产生任何影响:
var about = 0;
var music = $('.music-main');
var programming = $('.programming-main');
var contact = $('.contact-main');
case 0: $("html, body").animate({ scrollTop: 0}); break;
case 1: $("html, body").animate({ scrollTop: music.offset().top}); break;
case 2: $("html, body").animate({ scrollTop: programming.offset().top}); break;
case 3: $("html, body").animate({ scrollTop: contact.offset().top}); break;