jover를 사용하여 호버()의 높이 변화를 애니메이션으로 나타냅니다.hover() 내의 jQuery 애니메이션은 두 번째에만 실행됩니다.
마우스를 올리면 .hover 클래스가 적용되고 클릭하면 .expanded 클래스가 토글됩니다. 적절한 애니메이션을 사용하면 대부분 효과적이지만, 처음 사용하면됩니다. 처음 마우스를 올리면 애니메이션이 완전히 건너 뜁니다.
나는 난처한 해요 - 여기에 잘못된 코드입니다 :.
$('#expandingbox').hover(
/*on mouseenter, if not expanded, add hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).addClass("hover", "slow");
}},
/*on mouseout, if not expanded, remove hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).removeClass("hover", "slow");
}
}).click(function() {
$(this).toggleClass("expanded", "slow");
});
내가 $ ('#의 expandingbox') 트리거 ('로 마우스')를 추가하면이 문제를 해결할 것을 어딘가에 발견,하지만 그것을하지 않았다 나를 위해 일해. 그리고 여기에 문제를 재현하는 예이다 : 이 http://jsfiddle.net/Qc42v/
UPDATE : 티켓을 제출하고, 그것이의 jQuery 버그 밝혀졌습니다. 동일한 코드가 jQuery 1.5 (그리고 jQuery UI의 최신 버전)와 함께 작동합니다.
[animate] (http://api.jquery.com/animate/) 사용을 고려 했습니까? – ngen
@ngen 나는 단지 어떤 작품과 함께 가야한다고 생각한다. @pixelfreak가 제안한대로 animate()를 사용하고 버그를 제기 할 것이다. – joseph