2011-06-10 2 views
1

jQuery UI의 toggleClass()에 문제가 발생합니다. 여기서 duration을 해제해도 예상대로 동작하지만, 그러나 지정된 지속 시간은 지정된 기간 동안 클래스를 적용한 다음 클래스를 제거합니다.jQuery toggleClass ('class', 1000)는 1s 만 토글하고 1s 애니메이션은 토글하지 않습니다.

다음 코드는 jQuery를 및 jQuery를-UI 후 별도의 파일 (application.js)에로드

: 나는 레일 3.1을 사용하고

(jQuery); 
(function() { 
    $('#expandingbox').hover(function() { 
     $(this).toggleClass("hover", 1000); 
    }) 
    $('#expandingbox').click(function() { 
     $(this).toggleClass("expanded", 1000); 
    }); 
}).call(this); 

, 커피 스크립트와 톱니 2.

는 여기 내 코드의 예 : http://jsfiddle.net/27rNG/

내가 원하는 동작은 다음과 같습니다 - 사용자가 이미지 을 가리키면 - 이미지는 비트 을 애니메이션 - 사용자가 이미지를 클릭 - 전체적으로 이미지가 일치 함

toggleClass를 올바르게 사용하지 않습니까?

업데이트 : 사용법은 정확하지만 JQuery UI는 올바르게로드되지 않았습니다. JQuery UI를 Google의 CDN에서 Rails 3.1 Sprockets 파일과 별도로로드하여이 문제를 해결했습니다.

답변

0

JQuery UI라는 JQuery "라이브러리"의 설명서를 사용하고 있습니다. http://jqueryui.com/

실제로 호출하는 메서드는 JQuery의 toggleClass (http://api.jquery.com/toggleClass/)이며 JQuery UI는 호출하지 않습니다.

두 번째 인수는 duration이 아님을 알 수 있습니다. http://jsfiddle.net/27rNG/16/

+0

감사 :

여기 당신을위한 출발점이 될 것입니다! JQuery가 toggleClass() 메서드를 재정의하고 두 번째 매개 변수를 기간으로 받아 들인 직후에 JQuery UI를로드하는 것이 좋습니다. jsfiddle 링크에서 JQuery UI를 외부 js 파일로로드했습니다. 나는 더 많은 독서를 할 것이다. 저에게 시작점을 주셔서 감사합니다! – joseph

+0

문제 없습니다. 나는 JQuery에 익숙하지 않다. JQuery UI를 우회하는 해결책이있다. 최선의 방법은 내 솔루션을 사용하는 것보다 종속성을 얻는 것입니다. – Kyle