Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery如何在到达容器末尾时捕捉到容器_Javascript_Jquery_Html_Css_Jquery Animate - Fatal编程技术网

Javascript jQuery如何在到达容器末尾时捕捉到容器

Javascript jQuery如何在到达容器末尾时捕捉到容器,javascript,jquery,html,css,jquery-animate,Javascript,Jquery,Html,Css,Jquery Animate,所以这个脚本做了我想做的,只是它没有固定的高度。它仅适用于高度:100%;: 所以我真正想要的是一个插件,当到达div的末尾时,它会自动弹出,因此div可以是任意高度 我的页面的每个div大约为2000px,因此当用户到达div的底部时,如果用户没有足够向下滚动,它会捕捉到下一个部分或当前部分,如插件中所示 感谢你的回答 我会查看插件 当当前部分到达底部时,我将演示更改为快照 如果用户没有滚动到当前节的顶部,则不应捕捉到该节的顶部,因为该节的高度很大,并且您无法看到该节的内容 演示 HTML 您

所以这个脚本做了我想做的,只是它没有固定的高度。它仅适用于高度:100%;:

所以我真正想要的是一个插件,当到达div的末尾时,它会自动弹出,因此div可以是任意高度

我的页面的每个div大约为2000px,因此当用户到达div的底部时,如果用户没有足够向下滚动,它会捕捉到下一个部分或当前部分,如插件中所示

感谢你的回答

我会查看插件

当当前部分到达底部时,我将演示更改为快照

如果用户没有滚动到当前节的顶部,则不应捕捉到该节的顶部,因为该节的高度很大,并且您无法看到该节的内容

演示

HTML


您好,非常感谢您抽出时间回答。该解决方案的问题在于,它应该在向上滚动时捕捉,并且在两个部分之间时捕捉,无论是向上还是向下,这取决于最接近的部分,如本屏幕所示:-尝试向下滚动到捕捉的部分,然后向上滚动。它应该会重新振作起来。谢谢我先做了一些类似的事情,但这会在本节的任何一点上突然出现,如果你正在阅读内容,这会让你很恼火。所以我需要再看看这个。嗨!非常感谢你!这正是我想要的!:谢谢我只是尝试了不同的高度。。。工作不太好不起作用的是,它只有在到达一个部分的顶部/底部时才会折断。假设从底部/顶部开始偏移量应该是500px左右。因此,如果我到达一个部分的顶部/底部,并滚动通过它小于500px,它应该会捕捉。但是当处于一个区间的中间时,什么都不应该发生。想象一下,当它到达底部时,它会滚动到下一页。再次感谢您抽出时间!有点像这样,除了滚动到元素底部时,它应该捕捉到该元素的底部。我对它做了一点修改:当你滚动到第一个元素的底部,再向下一点,20%的屏幕是黄色部分,80%的屏幕是粉色部分,它应该滚动到粉色部分的底部,而不是回到顶部。你明白我的意思吗?再次感谢!
<section></section>
<section></section>
<section></section>
<section></section>
<section></section>
$('section').waypoint(function(direction) { 
    if(direction == 'down'){
        disable_scroll();
        //Animate to top of the section
        $('html, body').stop().animate({ 
            scrollTop: $(this).offset().top
        },300,"easeInOutQuart", function() {
           enable_scroll();
        });
    }
}, { offset: '100%' }); 

function preventDefault(e) {
  e = e || window.event;
  if (e.preventDefault)
      e.preventDefault();
  e.returnValue = false;  
}

function wheel(e) {
  preventDefault(e);
}

function disable_scroll() {
  if (window.addEventListener) {
      window.addEventListener('DOMMouseScroll', wheel, false);
  }
  window.onmousewheel = document.onmousewheel = wheel;
}

function enable_scroll() {
    if (window.removeEventListener) {
        window.removeEventListener('DOMMouseScroll', wheel, false);
    }
    window.onmousewheel = document.onmousewheel = null;  
}