Jquery ui 工具 - 选项卡窗格一次全部显示

Posted

技术标签:

【中文标题】Jquery ui 工具 - 选项卡窗格一次全部显示【英文标题】:Jquery ui tools - tab panes all showing at once 【发布时间】:2010-12-27 16:18:20 【问题描述】:

我正在为我的选项卡使用 Jquery 工具 - 出了点问题,我不知道(因为一切正常).. 由于某种原因,所有面板都同时显示...这是代码:

<div id="form">
     <ul class="tabs">
        <li><a href="#"><%= GetResourceString( "TabHeaderBasic" ) %></a></li>
        <li><a href="#"><%= GetResourceString( "TabHeaderDetailed" ) %></a></li>
     </ul>

     <div class="panes">              
        <div class="pane">
           <h2><%= GetResourceString( "PersonalInfoHeader" ) %></h2>
           <%= this.TextBox( x => x.FirstName ).LocalizedLabel().LocalizedTitle().Size(35).Required() %>
           <%= this.TextBox( x => x.LastName ).LocalizedLabel().LocalizedTitle().Size(35).Required() %>
           <%= this.ValidationMessage( x => x.LastName ) %>
           <%= this
                 .Select( x => x.Gender )
                 .LocalizedLabel()
                 .LocalizedTitle()
                 .Options( ViewModel.GenderOptions )
                 .Selected(ViewModel.Gender.ToString())
                 .FirstOption("", "Not Specified")
                 .Required() %><br />
           <%= this.DateTextBox( x => x.DateOfBirth ).LocalizedLabel().LocalizedTitle().Required() %>
           <%= this.ValidationMessage( x => x.DateOfBirth  ) %>

           <h2><%= GetResourceString( "AccountDetailsHeader" ) %></h2>
           <%= this.TextBox( x => x.EmailAddress ).LocalizedLabel().LocalizedTitle().Size(35).Required() %>

           <% if ( ViewModel.IsExistingUser )  %>
              <%= this.Password(x => x.OldPassword).LocalizedLabel().LocalizedTitle().Size(35)%>
           <%  %>

           <%= this.Password(x => x.Password).LocalizedLabel().LocalizedTitle().Size(35)%><br />
           <%= this.Password(x => x.PasswordConfirmation).LocalizedLabel().LocalizedTitle().Size(35)%><br />
           <span class="row">
           <%= this.CheckBox( x => x.AgreesToTermsAndConditions ).LocalizedLabelAfter() %>
           </span><br />
           <% if ( !ViewModel.IsExistingUser )  %>
              <%= this.CheckBox( x => x.AgreesToTermsAndConditions ).LocalizedLabelAfter().Required() %>
              <%= this.ValidationMessage( x => x.AgreesToTermsAndConditions ) %>
              <%= html.GenerateCaptcha() %>
              <%= this.ValidationMessage( x => x.CaptchaValid ) %>
           <%  %>

           <p>
              <% if ( ViewModel.IsExistingUser )  %>
                 <%= this.SubmitButton( GetResourceString( "ButtonSubmitEdit" ) ).Class( "register btn" ) %>
              <%  else  %>
                 <input type="button" class="next btn" value="<%= GetLocalResourceObject("ButtonNext") %>" />
                 <%= this.SubmitButton( GetResourceString("ButtonSubmitBasic") ).Class( "register btn" )%>
              <%  %>
           </p>
        </div>

        <div class="pane">
           <h2><%= GetResourceString( "AddressHeader" ) %></h2>

           <% Html.RenderPartial( "EditAddress", ViewModel.Address ); %>

           <span class="row">
              <%= this.CheckBox( x => x.OnlyShowLocalEvents ).LocalizedLabelAfter().LocalizedTitle() %>
           </span><br />                  

           <h2>Other Details</h2>
           <%= this.TextBox( x => x.PhoneNumber ).LocalizedLabel().LocalizedTitle() %>

           <p>
              <% if ( ViewModel.IsExistingUser )  %>
                 <%= this.SubmitButton( GetResourceString( "ButtonSubmitEdit" ) ).Class( "register btn" ) %>
              <%  else  %>
                 <input type="button" class="previous btn" value="<%= GetLocalResourceObject("ButtonPrevious") %>" />
                 <%= this.SubmitButton( GetResourceString( "ButtonSubmit" ) ).Class( "register btn" ) %>
              <%  %>
           </p> 
        </div>
     </div>
  </div>

CSS

/* 选项卡的根元素 */ ul.tabs 列表样式:无; 边距:0!重要; 填充:0; 边框底部:1px 实心 #666; 高度:30px; /* 单个标签 */ ul.tabs li 向左飘浮; 文本缩进:0; 填充:0; 边距:0!重要; 列表样式图像:无!重要; /* 选项卡内的链接。使用背景图片 */ ul.tabs 背景:url(../images/blue.png)无重复-420px 0; 字体大小:11px; 显示:块; 高度:30px; 行高:30px; 宽度:134px; 文本对齐:居中; 文字装饰:无; 颜色:#333; 填充:0px; 边距:0px; 位置:相对; 顶部:1px; ul.tabs:活动 大纲:无; /* 当鼠标进入选项卡时移动背景图像 */ ul.tabs:悬停 背景位置:-420px -31px; 颜色:#fff; /* 活动选项卡使用类名“当前”。它的亮点也是通过移动背景图像来完成的。 */ ul.tabs a.current, ul.tabs a.current:hover, ul.tabs li.current a 背景位置:-420px -62px; 光标:默认!重要; 颜色:#000 !重要; /* 不同宽度的选项卡:使用类名:w1、w2、w3 或 w2 */ /* 宽度 1 */ ul.tabs a.s 背景位置:-553px 0;宽度:81px; ul.tabs a.s:hover 背景位置:-553px -31px; ul.tabs a.s.current 背景位置:-553px -62px; /* 宽度 2 */ ul.tabs a.l 背景位置:-248px -0px;宽度:174px; ul.tabs a.l:hover 背景位置:-248px -31px; ul.tabs a.l.current 背景位置:-248px -62px; /* 宽度 3 */ ul.tabs a.xl 背景位置:0 -0px;宽度:248px; ul.tabs a.xl:hover 背景位置: 0 -31px; ul.tabs a.xl.current 背景位置:0 -62px; /* 最初所有的窗格都是隐藏的 */ div.panes 标签 字体大小:95%; 字体粗细:粗体; 颜色:#222222; 行高:150%; 底部填充:3px; 显示:块; /* 选项卡窗格样式 */ /*div.panes > div.pane*/ div.panes > div.pane 填充:15px 10px; 边框:1px 实心 #999; 边界顶部:0; 字体大小:14px; 背景:#fff 0 5px; 高度:100%;

初始化代码

函数初始化向导() // $("ul.tabs").tabs("div.panes > div"); $("ul.tabs").tabs("div.panes > div"); var api = $("ul.tabs").tabs(0); $(":input[type='button'].next").click(function() api.next(); return false; ); $(":input[type='button'].previous").click(function() api.prev(); return false; );

【问题讨论】:

【参考方案1】:

如果您同时看到所有选项卡窗格,可能是因为您没有包含 UI 随附的“ui.core.css”文件中定义的样式表。

此文件应与“ui.tabs.css”位于同一目录中,这是定义其余“.ui-tabs”样式的位置。使用 'ui.all.css' 可能更容易

【讨论】:

【参考方案2】:

它可以大大简化。您不需要包装各个窗格/选项卡,并且您必须具有直接指向 ID 的链接。

HTML:

<div id="form">
     <ul class="tabs">
        <li><a href="#Pane1"><%= GetResourceString( "TabHeaderBasic" ) %></a></li>
        <li><a href="#Pane2"><%= GetResourceString( "TabHeaderDetailed" ) %></a></li>
     </ul>
        <div class="pane" id="Pane1">
           <h2><%= GetResourceString( "PersonalInfoHeader" ) %></h2>
           ...
        </div>

        <div class="pane" id="Pane2">
           <h2><%= GetResourceString( "AddressHeader" ) %></h2>
           ...
        </div>
  </div>

javascript

$('#form').tabs();

【讨论】:

以上是关于Jquery ui 工具 - 选项卡窗格一次全部显示的主要内容,如果未能解决你的问题,请参考以下文章

如何在选项卡窗格 html 引导程序中添加 addclass jQuery 函数?

数据表无法通过 JQuery-UI 选项卡正确工作

高级 Windows 应用程序 UI(MDI 选项卡式组)

jquery ui tabs 高手帮忙怎么实现!

jQuery UI选项卡 - 如何在悬停上选择选项卡

Jquery ui如何选择启用的选项卡?