2013-10-04 4 views
-1

Je travaille donc avec des animations css et javascript vous pouvez commencer une et arrêter un avec le code suivant:élément jquery à javascript élément

element.style.webkitAnimationPlayState="paused"; 
element.style.webkitAnimationPlayState="running"; 

maintenant j'ai une Jquery qui ressemble en tant que tel:

$(".info").click(function(){ 
    $it = $(this).closest(".thing"); 
    //how can I use the above javascript on the specified jquery element? 
}); 

ma question est dans le commentaire dans le code. Est-ce possible? et comment?

here is a jsfiddle showing how it is not working

Répondre

0

Si vous voulez faire une pause d'une animation (puis reprendre à partir du point où il a été mis en pause), vous pouvez l'activer est l'état de lecture avec cette propriété CSS:

.paused { 
    -ms-animation-play-state:paused; 
    -o-animation-play-state:paused; 
    -moz-animation-play-state:paused; 
    -webkit-animation-play-state:paused; 
    animation-play-state: paused; 
} 

Vous pouvez ensuite utiliser jquery pour activer la classe mis en pause:

$(".info").click(function(){ 
    $it = $(this).closest(".thing"); 
    $it.toggleClass("paused"); 
}); 
+0

je ne suis pas essayer de mettre en pause une animation ... –

3

ici $lt est un objet wrapper jQuery, pas un élément dom référence, vous pouvez obtenir la référence de l'élément dom en utilisant l'indice 0

$it[0].style.webkitAnimationPlayState="running"; 

Démo: Fiddle

ou utiliser le .css() fourni par jQuery pour définir la valeur de style

$it.css('webkitAnimationPlayState', 'running'); 

Démo: Fiddle

+0

merci ... regardez maintenant ce violon: http://jsfiddle.net/zj5G5/11/ ... Comment viens la pause ne fonctionne pas? –

+0

@RyanSaxe il devrait être comme http://jsfiddle.net/arunpjohny/8WQcy/1/ la méthode 'on' devrait être appelée dans l'élément wrapper ... aussi il ne devrait pas être dans le gestionnaire de click ... –

+0

le jsfiddle vous m'a donné ne fonctionne pas ... –

0

$ c'est un tableau. Donc, si elle ne contient qu'un seul élément, vous pouvez le faire,

$it[0].style.webkitAnimationPlayState="running"; 

et si $ il contient plus d'un élément et que vous voulez appliquer ce style à chaque élément puis,

$($it).each(function(){this.style.webkitAnimationPlayState="running";}); 
0

Vous pouvez utiliser CSS property of jquery élément pour ce faire.

$(".info").click(function(){ 
    var $it = $(this).closest(".thing"); 
    alert($it.text()); 
    $it.css({"webkitAnimationPlayState":"running"}); 
}); 

DEMO:

Questions connexes