2010-06-01 4 views
1

jQuery 토글에서 div에로드하거나 언로드 할 수 있는지 확실하지 않은가요?토글시 div에 Jquery로드

뭔가 조금 좋아?

$("#IDOFCLICK").live('click',function(){ 
$(this).toggleClass("active").('#IDOFDIVTOLOAD').load('PAAGETOLOAD').slideToggle("slow"); 
}); 

당신은 내가 위의 추측 할 수있는 경우는 권리가 아니라, 어떻게 당신은 또한 "역"전환에 언로드 할 것인가?

답변

2

그럴 수 없습니다. 사용중인 toggle은 수업을 토글합니다. 사용할 수있는 toggle 이벤트가 있지만 내 지식이 live()에 의해 지원되지 않습니다.

unload라고 말하면 #IDOFDIVTOLOAD의 내용을 비워야한다고 가정합니다. 그건 바로, 당신이 시도 할 수 :

$("#IDOFCLICK").live('click',function(){ 
    $(this).toggleClass("active"); 
    var $loadElement = $('#IDOFDIVTOLOAD'); 
    if($loadElement.is(':empty')) { 
     $loadElement.load('PAAGETOLOAD').slideToggle("slow"); 
    } else { 
     $loadElement.empty().slideToggle("slow"); 
    } 
}); 

의 jQuery 문서 :

+0

감사합니다 패트릭이 가겠다. 나는 완전히 잘못되었다는 것을 알았지 만, 할 수 있는지는 확실하지 않았다. – user351657

+0

좋은 소리. 부하가 걸리기 전에'# IDOFDIVTOLOAD' 안에 다른 내용이 있다면'.is()'는 올바르지 않습니다. 그렇다면'if()'에서 테스트를 변경해야합니다. – user113716

0

나는이 가로 질러 및 w 암탉 내가 그것을 시도, 페이지가로드되기 전에 일어난 작은 애니메이션이 있었는데, 다음 토글 일어났다. IF 문에서 코드를 ajax 호출로 변경하여 slideToggle 전에 데이터가로드되었는지 테스트합니다. 그것은 원하는 효과를 주었다.

    $.ajax({ 
         type: 'GET', 
         url: "/pagetoload", 
         dataType: "html", 
         success: function(data) 
         { 
          $loadElement.html(data); 
          $loadElement.slideToggle("slow"); 
         }, 
         error: function() 
         { 
          alert("Error!"); 
         } 
        });