2010-04-16 6 views
4

에 완벽한 페이드 또 다른 빠른 하나 : 나는 여부를이은 대상에 따라 페이드와 차이가 납니까JQuery와 2 동시에

. 여기 내 구조가있다.

내 페이지에 데이터 행이 있고 각 행에는 두 개의 아이콘이 있습니다. 하나는 해당 행에 대한 업데이트 아이콘이고, 하나는 해당 행에 대한 삭제 아이콘입니다. 사용자가 특정 행에 대한 업데이트 아이콘을 클릭하면 업데이트 및 삭제 아이콘이 사라지기를 원합니다. 따라서, 사용자가 클릭 일 (업데이트 버튼) 및 해당 삭제 버튼을 퇴색하기 위해, 나는 어떤 작품 ...

$(this).next().add(this).fadeOut('slow'); 

... 사용하고 있지만, 두 가지 요소에 퇴색하지 동시. 이 먼저 사라지고 (업데이트 아이콘) this.next이 사라집니다 (삭제 아이콘). 그러나 두 요소를 이름으로 지정하면 ...

$('#updS2, #delS2').fadeOut('slow'); 

다음으로 사라집니다. 왜 다른가?

금요일에 대한 사과드립니다.

==== 편집 ====은 또한 andSelf를 사용하여 지연주의 :

$(this).next().andSelf().fadeOut('slow'); 
+0

"다음"이 사라지면 '이'가 페이드 아웃을 완료하고 다음 페이드 아웃이 시작되거나 약간 오프셋되어 동기화되지 않은 것입니다. –

답변

2

확인을, 나는 문제가 무엇인지 발견했습니다. 동일한 이벤트 핸들러 내에서 페이지의 모든 아이콘에 대해 작동하는 이전 fadeTo 명령이있었습니다. 나는 내 코드를 fadeTo의 콜백으로 옮겼다. 이제는 작동한다. 먼저 확인 했어야합니다. 나는 지금 나의 바위의 아래에서 뒤로 기어 질 것이다. ...

그래서 내가 사용하고있는 코드는 여기있다. 내 모든 아이콘에는 "조치"클래스가 있습니다. 사용자가 클릭 한 행의 아이콘과는 별도로 페이지의 모든 아이콘을 희미하게하고 싶었습니다.이 아이콘을 한 단위로 완전히 사라지게하고 싶었습니다. 이 작동합니다.

$('.action').click(function() { 
    var me = $(this); 
    $('.action').not(this).fadeTo('slow', 0.2, function() { 
     $(me).next().add(me).fadeOut('slow'); 
    }).unbind('click'); 
)}; 

나는 이것을 사용하면 모든 아이콘이 사라져 버렸기 때문에 나는 나를 사용해야했다. 아마 훨씬 더 나은 방법이지만, 대답은 "나는 처음부터 잘못 알고있다"고 대답 할 수있을 것이라고 생각했습니다. 죄송합니다 모두 : S