如何调整jQuery手风琴的大小一旦内容加载

How to resize jQuery accordion once content is loaded?

本文关键字:加载 手风琴 何调整 调整 jQuery      更新时间:2023-09-26

我有一个jQuery UI手风琴,最终将包含几个形式。为了防止我的HTML文件变得不可读,我想将每个表单放入单独的文件中并加载它们。从另一个堆栈溢出问题/答案我得到了这个,它工作得很好:

...
<head>
  ...
  <script>
    $(function(){
      $("#form1").load("form1.html");
      $("#form2").load("form2.html");
      $("#form3").load("form3.html");
    });
  </script>
  ...
</head>
<body>
...
<div id="accordion">
  <h3>Form 1</h3><div id="form1"></div>
  <h3>Form 2</h3><div id="form2"></div>
  <h3>Form 3</h3><div id="form3"></div>
</div>
...
</body>

不幸的是,手风琴的大小似乎是在加载各种form .html文件。我如何强制它重新计算这些文件加载后手风琴的大小是多少?

您可以使用refresh方法。因为你有3个独立的ajax请求,我会这样做:

var f1=$("#form1").load("form1.html");
var f2=$("#form2").load("form2.html");
var f3=$("#form3").load("form3.html");
$.when(f1,f2,f3).then(function(){
   /* all forms loaded now we can refresh accordion */
   $('#accordion').accordion('refresh');
});

accordion refresh() docs