2011-02-23 3 views
0

저는 jQuery에 익숙하지 만 배우려하고 싶어합니다. 이 때문에 저는 jsFiddle을 사용하여 플레이를하고 무엇을 할 수 있는지 보았습니다 - 심각하지 않고, 그냥 애니메이션을 가지고 노는 등. 구체적으로 두 클래스 사이에서 움직이는 기능.jQuery UI weirdness

이 부분을 살펴보고 왜 .delay가 필요한지 알 수 있습니까?

$('div').click(function() {  
    if ($(this).hasClass('clicked')) { 
     $(this).delay(1).removeClass('clicked', 5000, 'easeInElastic'); 
    } else { 
     $(this).delay(1).addClass('clicked', 5000, 'easeInElastic'); 
    } 
}); 

http://jsfiddle.net/Ps4Xn/2/

지금까지 내가 말할 수있는, 내가 두 .delays 제거 할 수 있어야하지만, 내가 할 때, 그것은 작동하지 않습니다.

답변

2

사물을 단순화합시다.

Non-animated version (jsfiddle)

:

$('div').click(function() { 
    $(this).toggleClass('clicked'); 
}); 

Correctly animated version (jsfiddle)
Correctly animated version (jsbin)

$('div').click(function() { 
    $(this).toggleClass('clicked', 5000, 'easeInElastic'); 
}); 

코드는 jsbin하지만 jsfiddle하지 작동 - jsfiddle와 남았습니다 뭔가 단지가있다. 그것은 당신의 코드가 아닙니다.
jQueryUI를 사용하여 툴링을 할 때 jsfiddle을 사용하지 마십시오. 왜냐하면 함께 잘 플레이하지 않기 때문입니다.

+0

아, 감사합니다. 당신이 말한 것처럼, jsFiddle이 .delay가없는 코드가 jsbin에서 잘 작동하는 것처럼 보이지만, jsFiddle이 재미 있다고 생각할지라도, 나는 이것을위한 토글이 있는지 궁금합니다. http://jsbin.com/oheze4/edit - 왜냐하면 나는 jsbin보다 jsfiddle을 선호하기 때문에 수치 스럽다. – Daniel

+0

@Daniel : 천만에. –