2011-03-16 61 views
1

我是使用jQuery進行編程的新手。dyn中的jQuery UI手風琴。填充div(div div)

我試圖加載一個名爲「容器」的div中的新內容。新內容包含div,應該顯示爲jQuery UI Accordion。

內容更改正常,但沒有顯示手風琴。我如何在加載的div上應用手風琴?

代碼 (靈感:http://net.tutsplus.com/tutorials/javascript-ajax/how-to-load-in-and-animate-content-with-jquery/):

$(document).ready(function() 
{ 
     $('#navlist li a').click(function() 
     {        
      var toLoad = $(this).attr('href'); 
      $('#container').hide('fast',loadContent); 
      $('#load').remove(); 
      $('#page').append('<span id="load">LOADING...</span>'); 
      $('#load').fadeIn('normal'); 
      function loadContent() 
      { 
       $('#container').load(toLoad,'',showNewContent()); 
      } 
      function showNewContent() 
      { 
       $('#container').show('normal',hideLoader()); 
      } 
      function hideLoader() 
      { 
       $('#load').fadeOut('normal'); 
      }  
      return false; 
     }); 


     $("#accordion").accordion(); 
}); 

回答

0

它看起來像你只在$(document).ready應用accordion

你需要調用accordion()您加載新的內容後:

$(document).ready(function() 
{ 
     $('#navlist li a').click(function() 
     {        
      var toLoad = $(this).attr('href'); 
      $('#container').hide('fast',loadContent); 
      $('#load').remove(); 
      $('#page').append('<span id="load">LOADING...</span>'); 
      $('#load').fadeIn('normal'); 
      function loadContent() 
      { 
       $('#container').load(toLoad,'',showNewContent()); 
      } 
      function showNewContent() 
      { 
       // ADD THIS: 
       $('#container #accordion').accordion(); 
       $('#container').show('normal',hideLoader()); 
      } 
      function hideLoader() 
      { 
       $('#load').fadeOut('normal'); 
      }  
      return false; 
     }); 


     $("#accordion").accordion(); 
});