0

ページの読み込み時に一部の要素がページの読み込み時に非表示になる理由と、そうでない場合がある理由を知りたい (IE9 でテスト済み)。同じことをした/同じ問題があったため、jqueryuiアコーディオンの動作を再現しようとしています。

PHP で header() を使用して、または標準リンクを使用してリダイレクト/リロード リングをリロードまたはクリックすると、hide() が機能しない場合や、同じリンクが機能して要素が非表示になる場合があります。

IE は IE9 標準で動作することを示しています。jQ/jQui では癖が公式にサポートされていないことがわかったので、ドキュメント ヘッドに X-UA-Compatible" content="IE=edge" があり、対応するヘッダーを送信していることを確認してください。 phpを使用しています。

W3C バリデータ ドキュメントでは、バリデーション /xhtml1 transitional/ をエラーなしでパスします。

関連する html マークアップは /simplified/ です

<h3><a id="tog1" href="/....">...</a></h3>
<div class="smg" id="tog1e"> .... </div>

<h3><a id="tog2" href="/....">...</a></h3>
<div class="smg" id="tog2e"> .... </div>

<h3><a id="tog3" href="/....">...</a></h3>
<div class="smg" id="tog3e"> .... </div>

外部jsファイルに私はこれを持っています

jQuery(function() { 
// selectors are "a" (links)
$("#tog1").click( function(e){ 
 $("div.smg").hide(); $("#tog1e").show();e.preventDefault();});
$("#tog2").click( function(e){ 
 $("div.smg").hide(); $("#tog2e").show();e.preventDefault();});
$("#tog3").click( function(e){ 
 $("div.smg").hide(); $("#tog3e").show();e.preventDefault();});

if(document.location.href.indexOf('...link of tog1...') > -1 ) 
{  $("div.smg").hide(); $("#tog1e").show();}
else if ( document.location.href.indexOf('...link of tog2...') > -1 ) 
{ $("div.smg").hide(); $("#tog2e").show();}
else { $("div.smg").hide(); $("#tog3e").show();}

//.... other unrelated code follows after

IEで動作する場合と動作しない場合がある理由をまだ理解できませんでした。他のブラウザ (現在の Chrome と Firefox) は常に問題なく動作します。

追加した

ページで使用されている他のフレームワーク (mootools) もあるという事実に関連している可能性がある (または関連していない可能性がある) と述べました。ただし、前述のように、Firefox と Chrome は文句を言わず、常に動作しますが、IE はそうでない場合もありますが、たまにしか動作しません。

IE では、一部のオブジェクトにプロパティまたは関数がないことがコンソールに表示されることがあり (これは両方のフレームワークの使用に関連するポイントである可能性があります)、すでに jQ の noconflict を使用し始め、「jQuery」の「$」を置き換えています。スクリプトに含まれていますが、これまでのところ役に立たないようです。

どうすればこれを解決できますか? MooTools と jQuery の両方が必要です。

4

0 に答える 0