2014-12-11 3 views
0

div의 이미지가 몇 개 있으며 마우스를 입력하면 위로 움직이고 그 반대의 경우도 마찬가지입니다. 그것은 작동하지만, 슬라이딩은 즉시 일어나지 않습니다. 따라서 마우스를 몇 번 빠르게 움직이면 (예 : 10 번) 30 초 동안 위아래로 움직입니다. 내 코드에 뭔가 잘못되었다는 것을 안다. 어떤 아이디어? 동일한 요소에 대해 호출되면 jQuery 슬라이드 업 및 다운 기능 지연

$(document).ready(function(){ 

    $('.indexgall').on('mouseenter',function(){ 
     $(this).addClass('hoverimg'); 
     $(this).children().animate({ 
      top:150 
     },600,function(){ 
     }); 
    }); 

    $('li').on('mouseleave',function(){ 
     $(this).removeClass('hoverimg'); 
     $(this).children().animate({ 
      top:250, 
     },600,function(){ 
     }); 
     $(this).stop().animate({}); 
    }); 

}); // END DOCMENT READY 
.hoverimg 
{ 
    box-shadow: .2% .2% .2% gray; /*2px 2px 2px gray */ 
    opacity: 0.8; 
} 

JsFiddle

+0

jsfiddle가 도움이 될 것입니다. –

+0

움직이는 아이들에게'.stop()'을 사용해야합니다. BTw,'$ (this) .stop(). animate ({});'별로 의미가 없어요 –

+0

JSfiddle 게시 됨 :) 그리고 나는 (멈춤)하지만 똑같은 것을 꺼 냈습니다. – arsenalist

답변

1

애니메이션 대기열. .animate()에 전화하기 전에 .stop()으로 전화해야합니다.

$(this).children().stop().animate({ 
관련 문제