jQueryのアコーディオン:私のヘッダーコントロールのサイズ変更します
-
23-08-2019 - |
質問
私はjQueryのアコーディオンを使用しています。すべては、Firefoxでもあります。 IE7では、しかし、ときに私は私のヘッダーサーバーコントロールがサイズ(縮んだ)再でアコーディオンメニューの見出しのいずれかを拡張し、私のドキュメント内のリンクをクリックしてください。どのように私は、サイジング再スクリーンを停止していますか?これは問題ではJavaScriptのpeiceです:
if (!$('h3.ReferenceBackgroundHeader', '#References').hasClass('ui-state-active')) {
$("#References").accordion('activate', 0);
}
window.scrollTo(0, $('#References').offset().top);
return false;
<時間>
私が欲しいのは、私のヘッダーの書式を変更しないように.accordion('activate',indexval);
です。
奇妙な.. IEでこのための回避策がなければなりません。私は私の機能を空にした場合だけ実行します:
window.scroll(0,900);
私はまだトップで私のサーバコントロールを失います!誰でも提案がありますか?
<時間>おそらくこれは...ページは実際には二つのdiv要素で構成されている問題です。トップdivが(MasterPagesの日前に)ヘッダーコントロールを表示するためのものであり、下のセクションでは、私が内にスクロールしようとしていますセクションです。 「コンテンツ」divが、私はスクロールする能力を必要とする1つです。 「ヘッダ」の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の高さを相当します。問題はclientHeight関数は常に「0」を返していました(とのみIEの心の中であなた)でした。私はheader.offsetHeightでこれらを置き換え、すべてが順調です。
IE私のclientHeight機能で正しく動作していないところように思われるようにします。
他のヒント
あなたは前に、あなたがメニューを展開した後、ブラウザでのスクロールバーを持っていますか?
何が起こっかもしれないことは、あなたがメニューを展開する前に、すべてが画面に収まるので、ブラウザはあなたにスクロールバーを与えないということです。メニューを展開すると、ブラウザがダウンして「スケール」にWebページを引き起こして、スクロールバーが追加されますので、それは、より多くのスペースを必要とします。
私は、スクロールバーが常に現れるように、あなたのCSSファイルで大きなmin-height
を設定せずにその問題を解決するかどうかはわかりません。
希望に役立ちます。
の のUPDATE:ののIちょうど見つかっ<のhref = "http://ryanfait.com/resources/forcing-vertical-scrollbars/" のrel = "nofollowをnoreferrer" >スクロールバーの問題を解決する方法について語っウェブサイトに。ただ、聞かせたかったこの出くわす他の誰よりクリーン修正ます。