0

Arrg!私のサイト(進行中)は、これまでにテストしたすべてのブラウザー(Firefox、Safari、Chrome、およびIE8)で正常に機能していますが、IE7(IE6または他のブラウザーについてはわかりません)では機能していません。私は肯定的ではありませんが、問題は私のjQueryでのprepend()の使用に関係していると思います。主な問題は、メインメニュー(ロゴの左側にある青い水平バーに表示されるはずです)と右上の検索ボックスで、どちらも先頭に追加して追加します。IE7には他にも問題があるので、jQueryによるものかどうか、または現在のcssの混乱のどこかにタイプミスがあるかどうかはわかりません。

IE7では機能しないが、他のブラウザでは機能するメインメニューに使用しているスクリプトを次に示します。ここで問題が発生する人はいますか?

<script type="text/javascript">
<!--
$(function() {

/* ************************************** */
/* main menu */
/* ************************************** */
$("#bannerAreaWrapper").prepend("<div id='MainMenu'><a id='neutralsBtn' class='MainMenuModule' href='/neutrals-overview/'>Neutrals</a> <span class='bullet'>•&lt;/span> <a id='practicesBtn' class='MainMenuModule' href='/practices/'>Practices</a> <span class='bullet'>•&lt;/span> <a id='locationsBtn' class='MainMenuModule' href='/locations/'>Locations</a></div>");

});
-->
</script>

サイトへのリンクは次のとおりです。http ://www.agencydr.squarespace.com ヘルプをいただければ幸いです。

4

2 に答える 2

3

IE7は、サイトで2つのJavaScriptエラーを検出しています。

Expected identifier, string or number line 139
$('#LocationsMapWrapper').hover(function() {
   $('#LocationsMapWrapper #MapImage').animate({
      width: 600,
      height: 375,
      marginLeft: 550,
      marginTop: -20,                <---- remove comma
   }, "slow", "easeOutQuad");
 }

 'document.getElementById(...)' is null or not an object line 355
Shadowbox.setup(document.getElementById('Map').getElementsByTagName('area'), {width : 450, height : 400});
于 2010-09-16T21:39:54.747 に答える
1

prepend関数は、ロードでは機能しませんが、IE7の開発ツールバースクリプトコンソールで実行すると正常に機能します。IE8ではjsエラーが発生し、IE7では2つ発生します。IE7の追加の1つは、この関数を使用することです。

$('#LocationsMapWrapper').hover(function() {
   $('#LocationsMapWrapper #MapImage').animate({
      width: 600,
      height: 375,
      marginLeft: 550,
      marginTop: -20,
   }, "slow", "easeOutQuad");
 }

特に139行目

これを削除して、ページの読み込み時にナビゲーションが期待どおりに機能するかどうかを確認してください

編集

ブーム、わかった。

'marginTop:-20'の後のコンマを削除してみてください。最後の要素にはこれを含めるべきではありません。古いブラウザすべてに影響すると思います。

于 2010-09-16T21:37:45.983 に答える