2011-02-16 68 views
2

如何在页面加载时关闭手风琴窗口小部件?这是我使用的代码:jQuery Accordion在加载时关闭

//Accordion 
    $(".accordion").accordion({ 
     autoHeight: false, 
     navigation: true, 
     collapsible: true, 
     active: false 
    }); 

而且,它可能是不重要的,但是手风琴的div是对话框的div内。

+0

“手风琴divs在对话框里面” - 你是什么意思?你能粘贴你的HTML吗? jQuery手风琴实现具有语义要求。标记需要成对的标题和div:http://docs.jquery.com/UI/Accordion – 2011-02-16 15:35:20

回答

3

active选项被(根据docs)安排在页面加载倒塌菜单(虽然它明确要求collapsible: true(你已经有)设置为false应该

如果ISN已经在$(window).load()$(document).ready()中,那么它需要被封装在其中一个;如果它如此包装,然后没有演示(可能JS FiddleJS Bin?)很难建议可能发生什么或出错。

JavaScript的其余部分(正在执行的.accordion()的调用之外?如果没有,可能会有某处出现JS错误。可以肯定的是,通过JS Lint来运行它可能是值得的。

+0

代码不在$(document).ready()中,但脚本位于主体的末尾,所以它没关系吧?除此之外,所有的javascript都运行得非常完美。 – Yottagray 2011-02-16 15:46:00

0

索引值可以是布尔或整数

<script language="javascript" type="text/javascript"> 
    $(function() { 
     var activeIndex = parseInt($('#<%=AccordionIndexHidden.ClientID %>').val()); 
     if (activeIndex < 0) 
      activeIndex = false; 
     $("#accordion").accordion({ 
      autoHeight: false, 
      event: "mousedown", 
      active: activeIndex, 
      change: function (event, ui) { 
       var index = $(this).children('h3').index(ui.newHeader); 
       $('#<%=AccordionIndexHidden.ClientID %>').val(index); 
      } 
     }); 
    }); 


</script> 

记住要少开始指数大于0

<asp:HiddenField ID="AccordionIndexHidden" runat="server" Value="-1" /> 

FYI,隐藏字段是保持保存回发

之间开放的手风琴
相关问题