2010-01-05 10 views
0

이 코드를 사용하여 롤오버 축소판을 기반으로 div를 숨기거나 표시합니다.썸네일 페이드 아웃 특정 div 페이드 문제

$(document).ready(function(){ 
    $('div.infodiv').hide(); 
    $(".website_thumbs a").hover(
    function(){ 
     var name = $(this).attr("name"); 
     $(".infodiv").stop(); 
     $("."+name).fadeIn(); 
    }, 
    function(){ 
     var name = $(this).attr("name"); 
     $("."+name).fadeTo(7000,1).fadeOut(); 
    }); 
}); 

스크립트는 축소판에서 이름 속성을 가져오고 해당 클래스와 함께 div를 표시합니다. 각 div는 .infodiv 클래스를 공유하지만 각 축소판에 고유 한 클래스가 있습니다.

기능은 기본적으로 원하는 부분이지만 미리보기 이미지를 스크롤하면 일부 div는 일종의 반대로 변색되고 일을 멈추지 않으면 일회 중지됩니다. 그들은 다시 사용할 수 있습니다.

저는 jQuery에 조금 익숙해졌으며 어떤 도움을 주셨습니다.

+0

축소판을 빠르게 스크롤 할 때 "페이드 인"하고 싶지 않으십니까? 이 경우 지연이 발생할 수 있습니다. 우리가 어떻게 할 수 있는지 잘 모르겠다. 사용자가 "n 초"이상 동안 마우스를 썸네일 위에 올리면 div가 표시됩니다. 그런 식으로. – Sridhar

+0

다음 stackoverflow 링크를 참조하십시오 http://stackoverflow.com/questions/435732/delay-jquery-hover-event – Sridhar

+0

아니요 나는 그것이 작동하는 방법을 원합니다 - fadeto가 페이드 아웃을 지연 시키지만 거기에 있습니다. 문제를 일으키지 않기 때문에 거기에 없어도 문제가 발생합니다. 문제는 여러 축소판간에 너무 빠르면 모든 것이 작동을 멈추는 것입니다. 무슨 일이 일어나는 것 같아요 fadedin/아웃 div 중 일부가 fadein/out 중간에 갇혀 있습니다 - 그래서 mouseover 그들을 mouseout 때까지 그들은 더 이상 작동하지 않습니다 그리고 mouseout 몇 초 후에 그들은 사라지고 다시 작동합니다. – Omikron

답변

0

$ (". infodiv")을 제거해보십시오. stop(); line - 모든 infodiv가 애니메이션을 멈추게합니다.

+0

애니메이션이 끝날 때까지 다음 div로 넘어 가면 이전 div가 표시되지 않기 때문에 추가하지 않았습니다. – Omikron

관련 문제