jQuery滚动力不会滚动超过450px

时间:2016-04-03 21:49:07

标签: javascript jquery css scroll

//Scroll Status abfragen}
$(window).scroll(function(){
    var wScroll = $(this).scrollTop();




$("#vor").click(function() {

    if(wScroll < 450) { 
    $('html, body').animate({
        scrollTop: 450
    }, 2000);
    }

    if(wScroll < 1900 & wScroll > 450 ) { 
    $('html, body').animate({
        scrollTop: 1900
    }, 2000);
    }

 });

    });//wScroll

当我点击图标#vor时会发生什么,它会滚动到450但是在动画结束后我无法滚动超过450px。不是用手/鼠标而不是点击我是一个新手,但我已经试图解决这个问题很长时间而无法找到方法...感谢您的帮助!

EDIT 顺便说一句。以下代码是:

$("#pfeil").click(function() {
$('html, body').animate({
    scrollTop: 450 }, 2000);
});

它完美无缺。问题必须出在wSroll函数中....

1 个答案:

答案 0 :(得分:1)

它正在调用您的作业数百次,因为您为每个滚动分配了click事件,因此它们只是不断加起来。它没有锁定你的滚动,就像没有完成它必须运行的所有功能一样。

将其更改为以下内容:3次编辑,删除var,添加结束});和删除最后});

//Scroll Status abfragen}
$(window).scroll(function() {
  wScroll = $(this).scrollTop(); //Get rid of var, so it can be used by functions outside of this function.

}); // That's all the work we need to do.






$("#vor").click(function() {
  console.log('Called');
  if (wScroll < 450) {
    $('html, body').animate({
      scrollTop: 450
    }, 2000);

  }

  if (wScroll < 1900 & wScroll > 450) {
    $('html, body').animate({
      scrollTop: 1900
    }, 2000);
  }

});

https://jsfiddle.net/gregborbonus/dke33uyk/3/