2017-06-22 81 views
0

我在我的网站上有一个简单的欢迎页面,它显示图像及其标题和按钮以注册。禁用向下滚动,同时检测滚动

工作小提琴:JSFiddle

问题:我希望能够禁用页面的滚动,在检测任何上下滚动的事件。

这是因为我希望能够对下滚动事件执行一些动画,而不是实际滚动的页面。

尝试:

 $(document).ready(function() { 

         var CurrentScroll = 0; 
         $(window).scroll(function(event){ 

          var NextScroll = $(this).scrollTop(); 

          if (NextScroll > CurrentScroll){ 
          //write the codes related to down-ward scrolling here 
          /// Animations Codes Here 

          } 
          else { 
          //write the codes related to upward-scrolling here 

          } 

          CurrentScroll = NextScroll; //Updates current scroll position 
         }); 
        }); 

这是我尝试检测向下滚动剧本,但动画是没有看到由于滚动,因此我需要一个解决方法。

我怎样才能实现我想用jquery?

+0

您的代码中有语法错误。为什么你使用'});'3次?它应该是两次 –

+0

什么动画你想scrolldown? –

+0

我希望能够在动画发生时禁用页面的滚动@NiravJoshi –

回答

1

最简单的方法是简单地听scroll事件,而忘记了试图阻止滚动,然后接管用户的滚动,像这样:

var scrollTarget = 300; 
$("#divThatScrolls").scroll(function() { 
    $("#divThatScrolls").animate({ scrollTop: scrollTarget+"px" }); 
}); 

而只是根据您想要滚动到的位置更改scrollTarget

0
body 
{ 
    position: fixed; 
    overflow-y: scroll; 
    width: 100%; 
    height: 100% 
} 

试试这个

+0

虽然此代码可能会回答问题,但提供了有关如何使用其他[上下文](https://meta.stackexchange.com/q/114762)和/或为什么它解决了这个问题会提高答案的长期价值。请记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请[编辑](https://stackoverflow.com/posts/44691262/edit)您的答案添加一个解释,并指出适用的限制和假设。它也不会提到为什么这个答案比其他答案更合适。 – ItamarG3