JQuery手风琴:调整我的头控制
-
23-08-2019 - |
题
我使用的延手风琴。一切都很好,在FireFox。在IE7,但是,当我点击的链接在我的文档,扩展了一个手风琴的菜单标题我的头服务器的控制是重新型(萎缩).我怎么停止屏幕上再浆?这是块JavaScript在的问题:
if (!$('h3.ReferenceBackgroundHeader', '#References').hasClass('ui-state-active')) {
$("#References").accordion('activate', 0);
}
window.scrollTo(0, $('#References').offset().top);
return false;
我想要什么是的 .accordion('activate',indexval);
要不改变我的标题格式。
怪异..必须有一个解决此在即。如果我清空我的功能出,只是运行:
window.scroll(0,900);
我还是失去我的服务器控制在上面?!任何人都有一个建议吗?
也许这就是问题..页面实际上是由两个div.顶部是用于显示的头控制(前天MasterPages)和底部是部分我试图滚动内。该"内容"div是一个我需要的能力。将"头"div是一个消失的时候我滚动。任何人都可以救我的吗?:)
<body>
<form id="Form1" method="post" runat="server">
<div id="header">
<uc1:Header ID="headerControl" runat="server"></uc1:Header>
</div>
<div id="content" style="overflow:auto">
<asp:PlaceHolder ID="contentPlaceholder" runat="server"></asp:PlaceHolder>
</div>
</form>
解决方案 2
所以我就想通了。我的工作,我继承遗留代码。我就找错了对象。我发现下面的代码在给我悲痛页的标题:
function resizeContentWindowScrollBar() {
var contentDiv = document.getElementById("content");
var header = document.getElementById("header");
if (header != null) {
var desiredHeight = document.body.clientHeight - header.clientHeight;
if (desiredHeight > 0) {
contentDiv.style.height = (document.body.clientHeight - header.clientHeight) + "px";
}
}
}
注意header.clientHeight呼叫?这段代码显然只是得到头的高度以及与此等同内容DIV的高度。问题是(而且只能在IE介意你)的clientHeight函数总是返回“0”。我取代了这些与header.offsetHeight,一切都很好。
因此,它会出现在IE我的clientHeight函数,其中不能正常工作。
其他提示
你有一个滚动在浏览器之前和之后展开的菜单吗?
什么可能发生的事情是在你面前展开菜单,一切都适合的画面,因此浏览器不会给你一个滚动;但当你展开菜单,它需要更多的空间,因此浏览器增加了一个滚动,致使该网页的"规模"下。
我不知道该如何来解决这个问题没有设置一个大的 min-height
在css文件,以便滚动始终显示出来。
希望这有所帮助。
更新: 我刚刚发现 一个网站 其中谈到如何解决的滚动的问题。只是想让任何人来在这个一个更清洁的修复。