javascript - 如何在向下滚动后淡入 DIV,然后在底部淡出

标签 javascript scroll fadein fadeout

我有一个 div,我想在用户向下滚动页面 600 像素后淡入。我已经使用下面的代码轻松地实现了这一点:

<script>
$(window).scroll(function(){
if($(window).scrollTop()>600){
$("#fade-in-area").fadeIn();
}else{
$("#fade-in-area").fadeOut();
}
});
</script>

我希望同一个 div 从页面底部淡出大约 600 像素。我见过其他几个人试图这样做,但无法弄清楚如何让它同时淡入和淡出。

我认为对于普通的 Javascript 程序员来说应该很容易。

谁能帮帮我?

最佳答案

试试这段代码:

<script>
   $(window).scroll(function(){
       var leftToBottom = $(document).height() - $(window).height() - $(window).scrollTop();
       var distanceFromTop = $(window).scrollTop();
       if( distanceFromTop > 600 && !$("#fade-in-area").is(":visible") 
          && leftToBottom > 600) {
            $("#fade-in-area").fadeIn();
       }else if($("#fade-in-area").is(":visible") && (distanceFromTop < 600 || leftToBottom < 600)){
            $("#fade-in-area").fadeOut();
      }
   });
</script>

如果滚动底部的剩余空间少于 600 像素,它应该淡出一个 div。

关于javascript - 如何在向下滚动后淡入 DIV,然后在底部淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12573495/

相关文章:

html - 如何将粘性导航栏强制为 "overlay"其内容

每次 div 淡入时触发 css3 动画

javascript - 使 javascript 数组中的值之间的距离彼此相等

javascript - 获取选中复选框的值?

javascript - 调用 $.ajax 正在改变我的窗口滚动?

javascript - 在 phonegap 中的 touchstart 和 touchend 事件旁边使用滚动

javascript - 使用 ejs 模板引擎时,我可以在 Node.js 的每个页面上包含 HTML 代码块(例如页脚和页眉)吗?

javascript - 是否可以在 Jquery 中使用 setTimeout 更改 css 属性?

jquery - 如何仅使用 jQuery 在首次访问网站时触发事件?

javascript - 单击时获取最接近 fadeIn 的类和 fadeOut 的兄弟类