2011-03-27 2 views
1

가능한 경우 CSS3으로 DOM 요소에 애니메이션을 적용하는 기능이 있습니다. 이제는 종종 :animeted jQuery 선택기를 사용합니다. CSS3의 애니메이션 요소가 :animeted 선택기에도 응답하도록하려면 어떻게해야합니까? 는 DOM 개체가 jQuery를 함께 애니메이션되면 수동으로 ": animated"selector를 jQuery 객체에 추가하십시오.

IT는 데이터 객체에 "fxqueue":"inprogress"를 얻을, 그래서 내가 수동으로 사용하여 내 요소를 추가 할 수 있습니다 생각 :

$("div").eq(0).data({"fxqueue": "inprogress"});

하지만

console.log($("div:animated"))

은 아무 것도 선택하지 않습니다.

답변

1

그래도 작동하지 않습니다.
:animated 필터

요소가 있는지 여부 jQuery.timers 그것은 검사
jQuery.expr.filters.animated = function(elem) { 
    return jQuery.grep(jQuery.timers, function(fn) { 
     return elem === fn.elem; 
    }).length; 
}; 

로 정의된다.

var originalAnimated = jQuery.expr.filters.animated; 
jQuery.expr.filters.animated = function(elem) { 
    return originalAnimated(elem) || something; 
}; 
+0

아니라 당신을 감사합니다 :

대신, 당신은 :animated 선택을 바꿀 수 있습니다! 그러나 나는 모든 것을 얻지 못한다고 생각합니다. 내 함수에 의해 움직이는 요소에 .data ("css3animate", true)를 설정했다면 "무언가"(예제에서)는 무엇을 말합니까? (http://jsfiddle.net/backflip/BqFsM/) – meo

+0

@meo :'무언가'어떤 조건이 될 것입니다. '|| $. 데이터 (elem, 'css3animate')'. – SLaks

+0

아, 정말 고맙습니다. – meo

관련 문제