2011-09-29 5 views
1

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-load-in-and-animate-content-with-jquery/ 을 직접 사용해 보았습니다. 더 이상 작동하지 않는 페이지간에 전환 한 후 fancybox와 tinyscrollbar를 추가했습니다.javascript가 Dynamic ajax 콘텐츠에서 작동하지 않습니다.

$(document).ready(function() {  
    var hash = window.location.hash.substr(1); 
    var href = $('#nav li a').each(function(){ 
     var href = $(this).attr('href'); 
     if(hash==href.substr(0,href.length-5)){ 
      var toLoad = hash+'.html #content'; 
      $('#content').load(toLoad) 
     }           
    }); 
    $('#nav li a').live ('click', function(){        
     var toLoad = $(this).attr('href')+' #content'; 
     $('#content').slideToggle('fast',loadContent); 
     $('#load').remove(); 
     $('#wrapper').append('<span id="load">LOADING...</span>'); 
     $('#load').fadeIn(500); 
     window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); 
     function loadContent() { 
      $('#content').load(toLoad,'',showNewContent()) 
     } 
     function showNewContent() { 
      $('#content').show(500,hideLoader()); 
     } 
     function hideLoader() { 
      $('#load').fadeOut(500); 
     } 
     return false; 
    }); 


$("#scrollbar1").tinyscrollbar();   
$("a#example1").fancybox(); 

}); 

감사 : 나는 (.live를 사용, 튜토리얼 페이지의 코멘트에 내 대답을 찾기 위해 노력했다)하지만, 그것이 작동하지 않으며 나는 해결책을 알아낼 수 없습니다 솔기, 듣고 내 코드입니다 너, 앤드류

답변

0

보고 싶은 전체 페이지가 없을 때 어떻게하려고하는지 알기가 어렵다. 하지만 문제는 당신이 새로운 내용을로드 할 때 스크롤바와 그에 따라 fancybox를 업데이트해야한다는 것입니다.

tinyscrollbar의 경우 update 메소드를 사용할 수 있습니다.

tinyscrollbar 사이트에서 사용하는 방법을 볼 수 있습니다.

로딩 이벤트의 succes 콜백에 넣을 수 있습니다.

$ ("# scrollbar1"). tinyscrollbar_update();

해당 규칙을 hideLoader 함수 또는 showNewContent 함수의 끝에 넣으려고 할 수 있습니다.

+0

답변을 주시면 감사하겠습니다 만, 다른 방법을 찾고 계시고 어떻게 업데이트 방법을 사용할 수 있습니까? – Norouzian

관련 문제