2011-02-15 11 views
1

이러한 이벤트에 문제가 있습니다. 나는 무엇이 최선의 사용을 잘 모르겠다. 마우스가 어디에 있는지에 따라 불투명 애니메이션을하려고합니다. 마우스가 불투명 변화, 즉 애니메이션을 할 것 이미지 (마우스가 어디 이외의) 이미지의 나머지 부분을 입력 할 때마다mouseenter, mouseleave, hover jQuery

내가

<div class="thumbnail-wrapper"> 
<a href="#">   
<img class="thumb" src="image/image1.png" /> 
</a> 
<a href="#">  
<img class="thumb" src="image/image2.png" /> 
</a> 
<a href="">  
<img class="thumb" src="image/image3.png" /> 
</a> 
<a href="#">  
<img class="thumb" src="image/image4.png" /> 
</a> 
<a href="#">  
<img class="thumb" src="image/image5.png" /> 
</a>  
</div> 

기본적으로 이러한 구조를 가지고는, 내가하고 싶은 것은 : $(img).stop().not(this).animate({"opacity":"0.4"}) 및 하나의 마우스가 불투명도로 애니메이션을 적용하는 위치 : 1.

최선의 방법을 알려주십시오. 나는 공중 선회를 시도했다. 그러나 나는 실패했다.

TIA

답변

2

나는 포장 div.thumbnail-wrapper에 이벤트 처리기를 바인딩 .delegate()help를 사용하는 것이 좋습니다 것입니다. 모든 mouseenter 이벤트를노드에서 잡아라. 작업을 수행하려면 .fadeTo()help.siblings()help을 사용하십시오.

예 :

$('div.thumbnail-wrapper').delegate('a', 'mouseenter', function(e) { 
    $(this).stop(1,0).fadeTo('fast', 1).siblings().stop(1,0).fadeTo('fast', 0.2); 
}); 

데모 : http://www.jsfiddle.net/qR2NU/2/
(내가 예에서 div 노드를 사용하고, 당신은 .delegate() 인수 imgdiv를 교체해야 할 것입니다)

+0

@jAndy 죄송합니다. HTML을 편집했습니다. 어떻게 수정합니까? 안녕하세요. – Marvzz

+0

감사합니다. 안녕하세요 jAndy .. 그냥 질문입니다, 대의원 fn 내에서 'e.target'은 'this'와 동일합니까? – stecb

+0

@steweb : 꼭 필요한 것은 아닙니다! '' 태그가 ''으로 싸여 있다고 가정하면,'e.target'은'span'을,'this'는''를 나타낼 것입니다. 그래서 일반적으로'$ (this)'를 사용하는 것이 더 낫습니다. – jAndy

2
$('.thumbnail-wrapper img') //all images under the wrapper 
    .bind('mouseenter',function(){//when mouseenter,blur me,focus my siblings 
    $(this).animate({"opacity":"0.4"}).siblings().animate({"opacity":"1"}); 
}).bind('mouseleave',function(){// when mouse out, default state or (make me sober as i call it) 
    $(this).animate({"opacity":"1"}) 
}); 
+0

안녕하세요, ive는 내 HTML을 편집했습니다. 작동하지 않는 것 같습니다. 호버? 더 많은 것을 구현할 수 있습니까? – Marvzz

+0

마우스를 입력 할 때 내가 선택한 나머지 하나가 흐려지기를 원할 때. – Marvzz

+0

불투명도를 '1'로 변경하고 '1'을 '0.4'로 변경하십시오. – Val

0
$('.thumbnail-wrapper img').hover(function(){ 
    $(this).siblings().animate({'opacity': 0.4}); 
}, function(){ 
    $(this).siblings().animate({'opacity': 1}); 
}); 
관련 문제