2011-04-14 5 views

Répondre

3

Je suis en train de mettre sur pied un violon, mais vous pouvez essayer en utilisant un balisage similaire comme l'exemple que vous avez donné

// 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, vous venez de copier et collé cela du site. il n'y avait pas beaucoup de travail de votre part. et vous n'avez pas donné de crédit lorsque le crédit est dû .. – Neal

+0

bien que vous utilisé jquery au lieu de scriptalicious, mais à part cela une copie carbone .. – Neal

+0

Cela fonctionne très bien. Je ne me sentais pas à l'aise de faire le transfert de scriptaculus à jquery. Je vais lire votre code et essayer d'apprendre quelque chose – dianikol

1

est ici une bonne solution:

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(); 

et est le violon ici que le montre: http://jsfiddle.net/maniator/rcts4/

+0

le fondu semble assez bogué. il estompe le dernier li au lieu d'un aléatoire. Si vous mettez moins de vitesse, vous le remarquerez :) – dianikol

+0

@dianikol, jamais dit que c'était parfait, mais c'est un début :-) vous pouvez essayer de relancer les divs avant d'appeler fadeout et voir si cela aide – Neal