2010-08-22 5 views
0

OK, 나는 문제가 그래서 여기에 독특한 배경 프로젝트에 참여하고 있어요 :뭔가() 조건부 .hide() 액션을

내가 특정 부분을 숨길려고을 페이지로드시 내 배경에 대해 잘 작동합니다.

그러나 아래에 나와있는 다른 코드 줄은 링크가 특정 클래스를 가지고있을 때 다시 표시하려고하지만 FireBug에 따라 링크를 클릭하면 해당 클래스가 나타납니다. 링크 (내가 사용하고있는 jPlayer 플러그인 때문에) 코드는 여전히 작동하지 않습니다.

$("#bg_3, #bg_4, #map_4, #sprites_4, #platforms_4, #bg_5, #bg_6, #map_6, #sprites_6, #bg_7, #bg_8, #map_8, #sprites_8").hide(); 

if($('a#jplayer_playlist_item_1').hasClass('jplayer_playlist_current')) { 
    $("#bg_1, #bg_2, #map_2, #sprites_2, #bg_5, #bg_6, #map_6, #sprites_6, #bg_7, #bg_8, #map_8, #sprites_8").hide(); 
    $("#bg_3, #bg_4, #map_4, #sprites_4, #platforms_4").show(); 
}; 

사이트 : 마리오 행성

덕분에 여기

코드입니다!

답변

1

언제 코드가 실행됩니까? 당신이 올린 글에서 한 번만 실행되는 것처럼 보입니다. 링크의 클래스가 변경되었는지 계속 확인해야합니다. 한 가지 가능한 솔루션은 모든 너무 자주 확인하는 시간 제한 이벤트 만드는 것입니다 : 그것에 대해

setInterval(function() { 
    $("#bg_3, #bg_4, #map_4, #sprites_4, #platforms_4, #bg_5, #bg_6, #map_6, #sprites_6, #bg_7, #bg_8, #map_8, #sprites_8").hide(); 

    if($('a#jplayer_playlist_item_1').hasClass('jplayer_playlist_current')) { 
    $("#bg_1, #bg_2, #map_2, #sprites_2, #bg_5, #bg_6, #map_6, #sprites_6, #bg_7, #bg_8, #map_8, #sprites_8").hide(); 
    $("#bg_3, #bg_4, #map_4, #sprites_4, #platforms_4").show(); 
    }; 
}, 1000); // checks every 1000 msec (i.e. 1 second) 
+0

대만족 아, 감사, 의미가 있습니다 .. 지금 보여주고'를 통해 내 요소를 숨기기에 문제가있는 것 같습니다. show()'와'.hide()'를 사용합니다. 나는 이것을 해결해야 할 것이다. 그러나 이것을 해결하는 한 가지 방법에 대해 감사한다. – Qcom

+0

실제로 그것은 모두 좋은 것처럼 보입니다! 효과는 제 의견으로는 꽤 좋습니다 :) – Qcom