2011-11-29 27 views
0

我使用jQuery UI選項卡與ASP.NET TreeView和Gridview,並且它在正常瀏覽器中正常工作。但是,IE瀏覽器會出現以下情況。jQuery UI選項卡 - 選項卡在部分回發中隱藏和顯示在IE上

我的標籤看起來水木清華這樣的: enter image description here

樹視圖觸發局部回傳更新面板,並回傳發生的那一刻,標籤(樹和列表)消失,所以圖片如下: : 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> 
+0

請發佈標記和客戶端代碼 –

+0

非常適合我在IE 9切換到IE8和IE7瀏覽器模式。 jQuery版本1.6.4和jQuery-UI 1.8.16。 –

+0

@Yuriy Rozhovetskiy也許IE9瀏覽器模式仍然與IE8和IE7有所不同。我使用jQuery 1.8.16,它跳躍地獄。無論如何感謝您的嘗試! –

回答

1

添加客戶端pageLoad功能,並移動到它的標籤初始化代碼。另外,你不需要明確地調用這個函數。 或訂閱Sys.WebForms.PageRequestManagerendRequest事件,並更新該事件處理程序中的選項卡,以執行$(document).ready上執行的代碼。

+0

謝謝你的回答!實際上,我已經在客戶端使用了pageLoad功能,所以我只是將標籤初始化。然後我意識到endRequest事件並試圖在那裏初始化。問題仍然存在。我注意到的是,在pageLoad()觸發之前,標籤消失了。我不確定在這種情況下我應該捕捉什麼事件來初始化標籤。 –

+0

此外,我只是認爲標籤作爲一個整體插件不會消失,什麼消失是標籤的標題部分。我會編輯我的問題。 –