我手风琴中有一个tabcontainer。
如果我所在的标签比我切换到的标签短,我必须滚动查看新标签上的内容。
当我切换到tabcontainer并重新调整包含它的div时,我希望能够“捕获”tabcontainer的高度。
我想:
function clientActiveTabChanged(sender, args) {
alert(sender.height());
};
会告诉我身高,但不起作用。
TabContainer是:
<ajaxToolkit:TabContainer ID="projTabContainer" OnClientActiveTabChanged="clientActiveTabChanged" runat="server" CssClass="ajax__tab_red-theme">
答案 0 :(得分:1)
传递给sender
的{{1}}不是jQuery对象,而是DOMElement。请尝试以下方法:
clientActiveTabChanged
答案 1 :(得分:1)
我认为这会对您有所帮助:here
$(myJquerySelector).attr('id');
您只需将"id"
更改为"height"
编辑:您可以使用:event_target
获取活动的目标选择id:
$('TabContainer').change(function(event) {
var tabContainerID = $(event.target).attr('id');
alert(tabContainerID);
});
现在,当您单击选项卡时,您将获得该ID。 使用此ID,您可以轻松找到高度。 我希望这对你有帮助。
答案 2 :(得分:1)
您可以自动调整标签容器的大小 - (参考:Auto Resize TabContainer)
function clientActiveTabChanged() {
//get the tabContainer for later reference
var tc = document.getElementById("<%=tabContainer.ClientId%>");
//get the index of the tab you just clicked.
var tabIndex =
parseInt($find("<%=tabContainer.ClientId%>").get_activeTabIndex(), 10);
//set the tabcontainer height to the tab panel height.
tc.childNodes[1].style.height =
tc.childNodes[1].childNodes[tabIndex].clientHeight;
};
根据需要对上述功能进行更改。