我试图做的是有一个固定的按钮,一旦点击,滚动到页面上的特定部分。但是,只有第一个条件被执行,其他条件似乎完全被忽略,即使第一个条件是假的。我在这做错了什么?以下是代码。
[]
答案 0 :(得分:3)
这是因为input
和scr
的值只在您准备好文档时运行win
函数时设置一次。您可能希望每次调用scroll
时刷新它们。
所以正确的版本会如下:
click
答案 1 :(得分:0)
你的功能混乱了。您希望所有滚动内容都在函数中,然后将单击处理程序绑定到该函数,并在document.ready上初始化它:
$(document).ready(function () {
scroll();
var dob = $('#dob');
dob.click(function(){
scroll();
}
});
function scroll() {
var one = $('#one');
var two = $('#two');
var thr = $('#thr');
var fou = $('#fou');
var fiv = $('#fiv');
var scr = $(window).scrollTop();
var win = $(window).height();
if ( scr < win ) {
$('html, body').delay(125).animate({
'scrollTop' : two.offset().top
});
}
else if ( scr >= win && scr < (win * 2) ) {
$('html, body').delay(125).animate({
'scrollTop' : thr.offset().top
});
}
else if ( scr >= win * 2 && scr < (win * 3) ) {
$('html, body').delay(125).animate({
'scrollTop' : fou.offset().top
});
}
else if ( scr >= win * 3 && scr < (win * 4) ) {
$('html, body').delay(125).animate({
'scrollTop' : fiv.offset().top
});
};
}