使用一个函数移动矩阵样式背景等多个div

时间:2013-01-29 12:07:06

标签: javascript jquery html css animation

我正在制作一种矩阵式背景,图像会随机下降。 我想把分区传给一个函数作为开始动画的参数。我无法弄清楚如何实现这一目标。我不认为为每个下降的图形编写相同的函数是一种好的做法。 这就是我所拥有的 -

    <div id="l_0" class="drop_leds">
    </div>
    <div id="l_1" class="drop_leds">
    </div>
    <div id="l_2" class="drop_leds">
    </div>
    <div id="l_3" class="drop_leds">
    </div>

$(document).ready(function(){

     function row_01(id){
        var movePixAmount = 10;
            setInterval(function(){
               $(id).animate({ marginTop: movePixAmount+"px" }, 10);
               movePixAmount = movePixAmount +10;
                if(movePixAmount === 600){
                    movePixAmount = 0;
                    };
                },
            100);//inter

             };
        row_01("#l_0")

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

这是一场漫长的战斗,但我赢了(:如果你用一个功能做到这一点,就会有冲突,或者他们都会有相同的速度。

但相反,您可以使用不同的速度编写4个不同的setInterval functions并应用这些functions个元素,例如100个元素。只需定义不同的left值即可。 Here is working jsFiddle.

<强> jQuery的:

var eleHeight = $('.drop_leds').height();
var windowH = $(window).height();
var count1 = 0;
var count2 = 0;
var counter;
var windowLimit = windowH + eleHeight;

counter = window.setInterval(function() {
    if( count1 >= 0 && count1 < windowLimit ) {
        count1 += 1;
        $('#l_0,#l_6').css({'top':count1 +'px'});
    }
    else if( count1 >= windowLimit ) { 
        count1=0; $('#l_0,#l_6').css({'top':'-'+ eleHeight +'px'});
    }
},1);

counter = window.setInterval(function() {
    if( count2 >= 0 && count2 < windowLimit ) {
        count2 += 4;
        $('#l_1,#l_4').css({'top':count2 +'px'});
    }
    else if( count2 >= windowLimit ) { 
        count2=0; $('#l_1,#l_4').css({'top':'-'+ eleHeight +'px'});
    }
},1);

<强>的CSS:

.drop_leds {position:absolute; width:10px;height:60px;background:black;top:0px; }
#l_0 { left:40px; }
#l_1 { left:70px; }
#l_2 { left:110px; }
#l_3 { left:140px; }
#l_4 { left:180px; }
#l_5 { left:210px; }
#l_6 { left:220px; }
#l_7 { left:240px; }

答案 1 :(得分:0)

我知道这是旧的,但是如果另一个人最终看到这里,我制作了一个插件,你可以添加到你的网站,使动画矩阵背景工作。 https://github.com/manacu/manacuMatrixBg

希望有所帮助!