Jquery 如何暂停页面内的内容?

Jquery 如何暂停页面内的内容?,jquery,css,Jquery,Css,我想要一个特定的页面停止在一个特定的内容,一旦滚动点击该部分。它只会在满足某个条件后继续滚动(即,在该div中绘制某物、单击某物等) 你是如何做到这一点的?有什么想法吗?谢谢。您可以通过在文档滚动上绑定处理程序并调用e.preventDefault()来阻止默认滚动操作 这里,contentPos是要停止滚动的y像素位置,与$(document).scrollTop()比较 $(文档)。 绑定('mousewheel DOMMouseScroll',函数(e){ contentYPos=500;

我想要一个特定的页面停止在一个特定的内容,一旦滚动点击该部分。它只会在满足某个条件后继续滚动(即,在该div中绘制某物、单击某物等)


你是如何做到这一点的?有什么想法吗?谢谢。

您可以通过在文档滚动上绑定处理程序并调用e.preventDefault()来阻止默认滚动操作

这里,contentPos是要停止滚动的y像素位置,与$(document).scrollTop()比较

$(文档)。
绑定('mousewheel DOMMouseScroll',函数(e){
contentYPos=500;
条件满足=假;
if($(document).scrollTop()>=contentYPos
&&conditionMet==false
&&e.OriginaleEvent.wheelDelta<0){
e、 预防默认值();
}
});
这将检查您的conditionMet是否为false,如果用户正在向下滚动(可能您希望窗口仍然能够向上滚动),它将覆盖该操作,直到满足条件为止

下面是一个js提琴,展示了这项工作:

编辑:包括一个更全面的版本,在窗口滚动时触发。(这两种方法都包括在比较中)

Edit2:通过按下按钮和动态滚动距离更改条件的最终版本


这是一种假设,即在到达应该停止的位置之前,您知道长度。我的计划是在一篇文章中实现这一点,然后一旦它通过scroll看到容器,它就会停在那里。另外,如果存在else语句,那么在满足条件后可以继续执行该语句,那么该语句如何工作?将contentYPos替换为$(“#element”).offset().top,它将动态停止。这是一把小提琴,显示你想要什么。它将在蓝色元素处停止滚动,直到单击按钮,这将conditionMet变量更改为true。这将防止滚动锁定。希望这就是你想要的!隐马尔可夫模型。。。这接近我想要的。但还有一件事,是否可以在滚动进行之前对滚动进行计数?我计划检测滚动事件而不是单击事件。我尝试在自己的标记上实现您的代码。这似乎不起作用。请看这里:只是一个提示,我在使用基础框架,因此有大量的CSS代码块。
$(document).
    bind( 'mousewheel DOMMouseScroll', function ( e ) {

        contentYPos = 500;
        conditionMet = false;

        if ($(document).scrollTop() >= contentYPos
            && conditionMet == false 
            && e.originalEvent.wheelDelta < 0) {

               e.preventDefault();
        }
    });