2010-01-18 5 views
0

Je veux faire des nuages ​​comme ça pageComment puis-je faire de l'animation jQuery comme ça?

il devrait afficher dans des endroits aléatoires en-tête et par la méthode aléatoire mouvement qui je peux. Je fonction settimeout, mais il ne fonctionne pas bien

+1

Tout tutoriel d'animation JavaScript devrait vous aider à démarrer. Quel est le problème réel que vous avez? – Quentin

+0

Quel est le problème avec settimeout? lent? – PeanutPower

Répondre

4

Utilisez setInterval (désolé, je me suis trompé en supposant retard() pourrait aider)

Essayez quelque chose comme ça (example here). En supposant que votre nuage est un div:

function moveMe(){ 
    var $this = $('#cloud'); 
    $this.each(function(){ 
      var ranX=Math.floor(Math.random()*11); 
      var startX = $this.offset().left; 
      var maxX = $this.parent().width(); 
      var newX = startX+ranX; 

      //newX = (newX>maxX)? 0: newX; 
      //alert("newX="+newX); 
      $this.animate({ 
       left: newX+'px' 

      }, "slow"); 
    }); 
} 
$(function(){ 



    setInterval('moveMe()',1000); 
}); 

Notez que le balisage hte doit contenir:

<div id="sky"> 
<div class="cloud" id="cloud"></div> 
</div> 

Le CSS:

#sky{ 
width:990px; 
height:300px; 
background:blue; 
position:relative; /* important */ 
} 

.cloud{ 
position:absolute; /* important */ 
top:40px; 
left: 0; 
width:100px; 
height:80px; 
background: transparent url(images/cloud.png) top left no-repeat; 
} 
+1

Avec tout le respect que je vous dois, si vous n'allez pas offrir même une * petite * direction, vous ne devriez pas l'afficher comme une «réponse». (Note: Je ne vous ai pas déprécié, car je suis d'accord avec votre déclaration, mais pas son emplacement.) – Sampson

+0

point pris. J'ai mis à jour avec ma solution. – pixeline

2

Les nuages ​​semblent être draggable dans leur récipient. Lorsque vous passez la souris, un autre élément est animé et les nuages ​​eux-mêmes glissent côte à côte dans leur conteneur parent lorsque vous passez le curseur sur le parent.

  1. jQuery's draggable plugin.
  2. $.hover(); pour la pluie animée.
  3. $.animate(); pour le glissement.

Montrez-nous ce que vous avez essayé et vous obtiendrez une réponse plus détaillée.

+0

iam ne veux pas ir rian ou hover juste je le veux en mouvement –

0

Je ne sais pas comment dans jQuery, mais dans un simple JS, c'est une image qui se déplace avec un minuteur. Sur Firefox et en utilisant FireBug vous pouvez voir le code dans les nuages ​​

Questions connexes