Javascript 我可以动态生成&;是否在打开和关闭选项卡之前从jQuery Accordion中删除内容?
我使用的是来自jqueryui的。accordion的内容通过JavaScript从用户数据动态生成,然后在创建accordion之前通过Javascript 我可以动态生成&;是否在打开和关闭选项卡之前从jQuery Accordion中删除内容?,javascript,jquery,jquery-ui,jquery-ui-accordion,Javascript,Jquery,Jquery Ui,Jquery Ui Accordion,我使用的是来自jqueryui的。accordion的内容通过JavaScript从用户数据动态生成,然后在创建accordion之前通过innerHTML属性插入accordion。这种方法可行,但有一个缺点。由于我正在为所有选项卡生成HTML,因此生成的手风琴可能会有些迟钝。例如,在我的示例中,有256个手风琴选项卡,每个选项卡都有一些扩展的HTML,在我的旧笔记本上,它的执行速度有点慢 所以我很好奇,为了优化性能,有没有可能在手风琴打开之前将HTML内容附加到它的选项卡上?还有第二个问题,
innerHTML
属性插入accordion。这种方法可行,但有一个缺点。由于我正在为所有选项卡生成HTML,因此生成的手风琴可能会有些迟钝。例如,在我的示例中,有256个手风琴选项卡,每个选项卡都有一些扩展的HTML,在我的旧笔记本上,它的执行速度有点慢
所以我很好奇,为了优化性能,有没有可能在手风琴打开之前将HTML内容附加到它的选项卡上?还有第二个问题,我可以在关闭选项卡后立即删除它吗
为了提供更多细节,我的手风琴是这样创建的:
$("#accordion").accordion({
collapsible: true,
heightStyle: "content",
active: nActiveTab
});
使用
beforeActivate
和activate
方法,如中所述
工作演示:非常酷。谢谢我需要在我的实际内容上尝试一下,然后才能将其标记为答案。
beforeActivate: function (event, ui) {
var el = ui.newPanel[0];
if (el) el.innerHTML = returnContent(el.id); // Opening
},
activate: function (event, ui) {
var el = ui.oldPanel[0];
if (el) el.innerHTML = "" // Closing
}