jsfiddle如何在小提琴中获取scrollTop值

时间:2016-07-26 15:18:09

标签: jquery scroll jsfiddle

Here is the jsfiddle

我希望在scrolltop达到if语句中指定的值时更改类...

我不知道我犯了什么愚蠢的错误,我无法让它工作

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题:

  • 我不认为jQuery有onscroll功能
  • 如果$('#main'< - here
  • ,您的第二个关闭括号错过了
  • 如果您错过了scrollTop函数的括号
  • ,请继续使用
  • 您正在检查main的scrollTop值 - 它始终为0,因为它从不滚动,您正在滚动窗口

尝试以下内容(评论中的更改);

$(window).on('scroll', function() { // change to scroll rather than onscroll
  var scrollTop = $(this).scrollTop(); // get scroll top of the thing that is scrolling and cache for better performance
  if (scrollTop > 100) {
    $("#container").addClass("red");
  } else if (scrollTop > 500) {
    $("#container").removeClass("red").addClass("blue"); // chain actions
  } else {
    $("#container").removeClass("red blue"); // you can pass two classes into this
  }
});

如果你在小提琴中使用它并检查容器,你会看到课程被添加(你不会看到它在课程发生变化之前就会改变颜色)