滚动时更改ID - 发生奇怪现象

时间:2013-04-29 20:05:21

标签: javascript jquery

我正在努力在用户滚动到页面上的某个点时更改元素的ID:

http://jsfiddle.net/QupNv/6/

ID应该根据它们的位置而改变。这是我的代码:

$(window).scroll(function() {

var scrollTop = $(window).scrollTop(),
    divOffset = $('#b').offset().top,
    dist = (divOffset - scrollTop);

$('.message').text(dist);

if (dist >= 100 && dist <= 200) {
    $('.switch').attr('id', 'd')
}
else if (dist > 1 && dist < 100) {
    $('.switch').attr('id', 'e')
}
else {
    $('.switch').attr('id', 'c')
}
});

当我有一个条件时,它就像一个梦想,但如果我添加if else,那么它想要跳回到窗口的顶部而不是继续向下滚动。关于我做错了什么的指示?

非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,这是因为你的代码中没有带id =“e”的DIV。这就是它跳回到顶峰的原因。