2011-04-14 169 views

回答

3

我在放在一起小提琴的中間,但你可以試試這個使用similiar標記作爲例子,你給

// Translated from scriptaculus 
// http://mobile.bebitalia.com/home.do 

function hideCube() { 
$('#gctu1w_bg').show('slow'); 
$('.cube').each(function(index, element) { 
    var sleepTime = Math.floor(Math.random() * 2000); 
    var t = setTimeout(function() { 
     var d = Math.floor(Math.random() * 2000); 
     $(element).fadeTo(d, 0); 
    }, sleepTime); 
}); 
} 

$(function() { 

$('.cube').each(function(index, element) { 
    var sleepTime = Math.floor(Math.random() * 2000); 
    var t = setTimeout(function() { 
     var d = Math.floor(Math.random() * 1000); 
     $(element).fadeTo(d, 0.99); 
    }, sleepTime); 
}); 

var h = setTimeout(hideCube, 4000); 

}); 

http://jsfiddle.net/nickywaites/GBhMw/

+0

@Nicky,你剛剛複製並從網站上粘貼。你沒有太多的工作。而且你沒有給信貸的到期信用。 – Neal 2011-04-14 19:22:30

+0

雖然你用jquery代替了scriptalicious,但是除了那個副本外。 – Neal 2011-04-14 19:23:13

+0

它工作的很棒。從scriptaculus轉移到jquery,我感到不舒服。我會讀你的代碼並嘗試學習一些東西 – dianikol 2011-04-14 19:42:21

1

這裏是一個很好的解決方案:

fadeInout = { 
    init: function() { 
     v = $("#blocks > li").css('visibility', 'hidden'), 
     cur = 0, 
     rem = 0; 
     for (var j, x, i = v.length; i; 
      j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x); 
     //other startup code 
     return this; 
    }, 

    fades: function() { 
     this.fadein(); 
    }, 
    fadein: function() { 
     v.eq(cur++).css('visibility', 'visible').hide().fadeIn(); 
     if (cur != v.length) setTimeout(fadeInout.fadein, 50); 
     else setTimeout(fadeInout.fadeout, 100); 
    }, 
    fadeout: function() { 
     v.eq(rem++).css('visibility', 'none').fadeOut().show(); 
     if (rem != v.length) setTimeout(fadeInout.fadeout, 50); 
    } 

} 

fadeInout.init().fades(); 

這裏是展示它的小提琴:http://jsfiddle.net/maniator/rcts4/

+0

淡出似乎很有問題。它會淡出最後一個li而不是隨機的一個。如果你減少速度,你會注意到它:) – dianikol 2011-04-14 18:28:11

+0

@dianikol,從來沒有說過它是完美的,但它是一個開始:-)你可以嘗試在調用淡出之前重新調整divs,看看是否有幫助 – Neal 2011-04-14 18:30:39