我在ASP.NET Treeview和Gridview中使用jQuery UI选项卡,它在普通浏览器中运行良好。但是,使用IE,会发生以下情况。
我的标签看起来像这样:
Treeview触发部分回发以更新面板,当回发发生时,标签(树和列表)消失,所以图片如下:
然后,当回发发生时,标签再次出现。所以,由于高度的变化,整个画面似乎都在“跳跃”。
这件事发生在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 :(得分:1)
添加客户端pageLoad
功能并将其移至选项卡初始化代码。此外,您不需要显式地调用此函数。
或订阅Sys.WebForms.PageRequestManager
的{{1}}事件并在该事件处理程序中更新标签,以及在$(document).ready上执行的代码。