在jQuery滚动上淡入和淡出div

它的克拉克

我有一些div,这些div实际上只是彩色矩形,有助于可视化。当我向下滚动页面时,每个矩形应fadeInfadeOut取决于滚动条的位置。不幸的是,它会突然跳出来,并且随着频闪的频闪而逐渐消失。我认为最好通过滚动浏览每个元素的距离来确定不透明度级别,但是我什至不知道从何而来开始如此愚蠢。

似乎这个人有类似的问题,但答案没有用。

小提琴

jQuery的

$(document).ready(function(){
    var $element_array = $("#content").find("div");
    $(window).scroll(function(){
        $element_array.each (function(){
            if (($(this).position().top + $(this).height()) < $(window).scrollTop())
                $(this).fadeIn();
            if (($(this).position().top + $(this).height()) > $(window).scrollTop())
                $(this).fadeOut();
        });
    });
 });

的HTML

<div id="content">
    <div id="bg1"></div>
    <div id="bg2"></div>
    <div id="bg3"></div>
</div>

的CSS

html,body{height:100%;margin:0;}
#content{
    background:#333333;
    height:2000px;
    z-index:1;
}
#bg1{
    background:blue;
    height:400px;
    width:100%;
    z-index:2;
    position:fixed;
    top:100px;
    display: none;
}
#bg2{
    background:green;
    height:400px;
    width:100%;
    z-index:3;
    position:fixed;
    top:200px;
    display: none;
}
#bg3{
    background:red;
    height:400px;
    width:100%;
    z-index:4;
    position:fixed;
    top:300px;
    display: none;
}
柯克·巴科斯(Kirk Ba​​ckus)

你这里有几个问题

一个问题是$(this).position().top每个div返回0(由于它们的固定性质)。您需要解析实际的CSS值。

二是功能fadeIn()的本质fadeOut()如果您呼叫fadeOut()淡出的项目,则在页面上积极滚动时它将落后。但是我下面没有解决这个问题

我也把else第一个放在后面是if因为(应该)代码路径是互斥的。

$(document).ready(function(){
    var $element_array = $("#content").find("div");
    $(window).scroll(function(){
        $element_array.each (function(){
            if ((parseInt($(this).css('top')) + $(this).height()) < $(window).scrollTop())
                $(this).fadeIn();
            else if ((parseInt($(this).css('top')) + $(this).height()) > $(window).scrollTop())
                $(this).fadeOut();
        });
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何淡入和淡出<div>中的文本

来自分类Dev

jQuery淡入淡出内容+更改div

来自分类Dev

使用Waypoint插件在滚动上使元素淡入和淡出视口

来自分类Dev

jQuery加载内容的淡入和淡出

来自分类Dev

Android:淡入淡出滚动条的颜色和宽度

来自分类Dev

滚动页面时淡入和淡出div

来自分类Dev

使用jQuery淡入和淡出文本

来自分类Dev

淡入和淡出div标签

来自分类Dev

jQuery自动上下滚动div

来自分类Dev

jQuery和Javascript淡入淡出

来自分类Dev

在滚动中的div内淡入和淡出内容

来自分类Dev

根据滚动位置淡入和淡出图像

来自分类Dev

在滚动div上逐渐淡入淡出

来自分类Dev

淡入和淡出div

来自分类Dev

使用jQuery滚动时淡入和淡出

来自分类Dev

在页面滚动上加载div和动画

来自分类Dev

如果快速滚动,淡入和淡出会闪烁

来自分类Dev

如何淡入和淡出<div>中的文本

来自分类Dev

Android:淡入淡出滚动条的颜色和宽度

来自分类Dev

jQuery Div淡入或淡出更改

来自分类Dev

jQuery淡入和淡出悬停/ mouseleave上的另一个div而不会闪烁

来自分类Dev

文本淡入和淡出jQuery

来自分类Dev

jQuery淡入淡出div颜色变化

来自分类Dev

使用JQuery淡入和淡出div

来自分类Dev

jQuery动画,用于淡入和淡出

来自分类Dev

JQuery淡入一、淡出多个div

来自分类Dev

Jquery淡入/淡出滚动公式

来自分类Dev

jquery 淡出和淡入淡出如何不闪烁

来自分类Dev

滚动背景淡入/淡出