更换新内容后无法加载JqueryUI(手风琴)效果?

时间:2016-03-18 04:01:08

标签: javascript jquery jquery-ui

我有一个使用JqueryUI的手风琴效果的列表。我可以交换列表中的内容。然而,一旦我交换了内容,我就失去了所有的Jquery样式效果。我在论坛上做了一些研究,人们说我应该在交换内容后销毁并重新初始化手风琴。我尝试了所有的方法但它们不起作用。

$(document).ready(function(){ 
    $('#accordion').accordion({collapsible: true,active:false,heightStyle: 'content',event: 'click hoverintent'});      
    $('body').on('click','#category a',function(){    
    var page =$(this).attr('href');
    var php =$('#accordion').load('../php/'+page+'.php');       
    return false;
    });
   });

1 个答案:

答案 0 :(得分:0)

当您调用accordion插件时,它会通过添加类和其他属性来设置其中的内容的样式。但是一旦你重新加载其中的内容,那些样式就会丢失。

在加载回调中,您需要重新初始化accordion插件

$(document).ready(function() {
  $('#accordion').accordion({
    collapsible: true,
    active: false,
    heightStyle: 'content',
    event: 'click hoverintent'
  });
  $('body').on('click', '#category a', function() {
    var page = $(this).attr('href');
    var php = $('#accordion').load('../php/' + page + '.php', function() {
      $('#accordion').accordion('destroy').accordion({
        collapsible: true,
        active: false,
        heightStyle: 'content',
        event: 'click hoverintent'
      });
    });
    return false;
  });
});