2010-12-17 26 views
4
I added this script on my page..it didnt work 

    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#accordion").accordion({ active: false, collapsible: true }); 
    }); 

我的手风琴如何使页面加载时最初折叠的手风琴标题?

<cc1:Accordion ID="Accordion1" runat="server" FadeTransitions="true" Visible="true" AutoSize="None"SelectedIndex="0" RequireOpenedPane="false" TransitionDuration="250" 
HeaderCssClass="accordionHeader toggler" ContentCssClass="accordionContent expanded toggler"> 
       <HeaderTemplate> 

        <b style="color: Black"> 

         <%#Eval("Ques")%> 
        </b> 

       </HeaderTemplate> 


       <ContentTemplate> 
       <p> <%#DataBinder.Eval(Container.DataItem, "QuesAns")%></p> 

       </ContentTemplate> 
      </cc1:Accordion> 

我看到的第一个标题展开后页面的加载。如何使它们在页面加载时崩溃?

+0

ID是Accordion1。但是有一些关于.net脚本的事情将id变成了一个更长的字符串。在运行页面时查看源代码并查看其中的ID以查看它的真实含义。 – Tyde 2010-12-17 07:13:06

+0

您确定您的服务器控制器cc1:Accordion支持$ .accordion吗? – Sherwin 2010-12-17 07:22:59

+0

是的!我非常确定。什么病是错的? – Serenity 2010-12-17 07:56:35

回答

9

有对于一个简单的办法 - 刚刚成立SelectedIndex="-1"而不是“0”(加RequireOpenedPane =“假”,但它在您的标记已经设置)..你真的不要” t需要那个花哨的onReady脚本。

+0

rahularyansharma 2012-12-27 10:13:09

+0

但仍然是在页面加载时打开的第一个accoridan窗格。 – rahularyansharma 2012-12-27 10:13:38

2

我认为你的选择是错误的。

尝试

$(document).ready(function(){ 
    $("#<%=Accordion1.ClientID %>").accordion({ active: false, collapsible: true }); 
}); 
+1

这是缺少结束%> – rtpHarry 2010-12-17 09:11:36

+1

修正了错字。感谢@rtpHarry – rahul 2010-12-17 11:00:52

1

我觉得你的选择是错误的:

$(document).ready(function(){ 
    $("#<%= Accordion1.ClientID %>").accordion({ active: false, collapsible: true }); 
}); 

这会去你的页面中,而不是在一个外部JavaScript文件或<%=%>代码块不会得到执行。

注意:您正在使用jQuery表示法,它看起来像jquery UI手风琴代码,但试图将其应用于类似于asp.net Ajax Control Toolkit手风琴控件的应用程序。如果这是你在做什么,那么它可能不会工作。但是,如果您拥有Microsoft Ajax库中包含的最新版本的ACT,那么您在此处可能是正确的。我知道他们已经重新实现了所有ACT控件作为jQuery插件公开,但我还没有使用该版本。

2

你必须设置

Accordion1.RequireOpenedPane = false; 

将它们全部关闭。可能将selectedIndex设置为-1

1

在旁注:使用手风琴(或其他js触发的布局)时,您将冒FOUC(Flash Of Unstyled Content)的风险。我会将手风琴控件包装在一个div中,并在你的css中显示:none;当手风琴javascript被执行时,使用JQuerys show()使它再次可见。然后,手风琴将在显示之前加载并设计风格。