我有一个HTML页面,其中数据被动态加载到手风琴中。手风琴调用是从函数内部发生的。定期调用此函数以刷新数据。手风琴第一次正确显示,但在数据刷新时被破坏。以下是一些相关代码:
HTML:
...
<div id="itemsList"></div>
...
JavaScript的:
function updateList() {
var storedStates = startSpinner(spinner, 'itemsList');
$.post('interface/getitemss.php',
function(data) {
var dataObj = $.parseJSON(data);
if(dataObj.status == 0) {
var itemDetails = dataObj['data'];
$("#itemsList").html("");
var infoLevel = getInfoLevel();
for (var i = 0; i < itemsDetails.length; i++) {
var rowContent = "<h3>";
if (item.type == 3 && item.approvals > 0) {
rowContent += "<span class='" + qaprColor + "'>";
rowContent += "<i class='icon-bell'></i>" + space + item.approvals + "</span>" + pipespace;
}
...
rowContent += "</div>";
$("#itemsList").append(rowContent);
}
$("#itemsList").accordion();
在代码中,我正在使用它:
var intervalTimer = setInterval(function() {updateList();}, <?php echo $interval; ?>);
这定期调用updateList()方法来更新数据。问题是,在调用此方法的那一刻,以前工作的手风琴被破坏,数据就像普通的HTML一样出现。有谁知道如何解决这个问题?谢谢!
答案 0 :(得分:0)
你是否曾尝试在再次创建手风琴之前调用destroy?
$("#itemsList").accordion( "destroy" );
$("#itemsList").accordion();
中找到