jQuery UI选项卡 - 选项卡在部分回发中隐藏和显示在IE中

时间:2011-11-29 05:02:45

标签: asp.net internet-explorer jquery-ui jquery-ui-tabs

我在ASP.NET Treeview和Gridview中使用jQuery UI选项卡,它在普通浏览器中运行良好。但是,使用IE,会发生以下情况。

我的标签看起来像这样: enter image description here

Treeview触发部分回发以更新面板,当回发发生时,标签(树和列表)消失,所以图片如下: enter image description here

然后,当回发发生时,标签再次出现。所以,由于高度的变化,整个画面似乎都在“跳跃”。

这件事发生在IE7和IE8中。

有谁知道会导致什么?

谢谢!

修改 我认为我的问题可能令人困惑。作为整个jquery插件的标签不会隐藏和显示,该问题仅涉及标签的标题部分。

EDIT2 这是标记和代码:

<div id="tabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all" >

    <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
        <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#treeV" >Tree</a></li>
        <li class="ui-state-default ui-corner-top"><a href="#listV" >List</a></li>
    </ul>


    <div id="common" class="listTree">
        <div id="treeV" class="ui-tabs-panel ui-widget-content ui-corner-bottom" >
            <asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_OnSelectedNodeChanged" />
        </div>  

       <div id="listV" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"> 
        <asp:GridView ID="GridView1" runat="server" onselectedindexchanged="GridView1_SelectedIndexChanged" />
       </div></div></div>

<script type="text/javascript">

    function pageLoad() {
         $("#tabs").tabs({
             fx: { opacity: "toggle", duration: "slow" }
    });}

</script>

1 个答案:

答案 0 :(得分:1)

添加客户端pageLoad功能并将其移至选项卡初始化代码。此外,您不需要显式地调用此函数。  或订阅Sys.WebForms.PageRequestManager的{​​{1}}事件并在该事件处理程序中更新标签,以及在$(document).ready上执行的代码。