0

私のライブサイトで問題が発生していますが、Internet Explorerでページを最初にロードすると、jQueryがロードされず、エラー「SCRIPT438:オブジェクトはこのプロパティまたはメソッドをサポートしていません」がスローされます。ページをリロードすると、通常、このエラーは消えます。

これが私のコードです:

<script type="text/javascript">
    jQuery(document).ready(function() {         
        jQuery(".item-473 a").hover(function() {
           jQuery('.menu_image').removeAttr('style').attr('style', 'background-image: url(/images/volunteers_navbar.png);');
            }, function() {
                jQuery('.menu_image').removeAttr('style').attr('style', 'background-image: url(/images/adults_navbar.png);');
            });

これが私のHTMLです。

<ul class="nav-child unstyled small">
<div class="menu_image" style="background-image: url(/images/adults_navbar.png);"></div>
<li class="item-472">
<a href="/activities/adults">Adults</a>
</li>
<li class="item-473">
<a href="/activities/volunteers">Volunteers</a>
</li>
<li class="item-474">
<a href="/activities/children-schools">Children & Schools</a>
</li>
<li class="item-475">
<a href="/activities/clubs-coaches">Clubs & Coaches</a>
</li>
</ul>

私はいくつかのことを試しましたが、この問題の発生を止めることができないようです。コンソールは、問題がこの行にあると言います:

jQuery(".item-473 a").hover(function() {

なぜこれが起こっているのか誰かが知っていますか?ありがとう

4

1 に答える 1

0

他の誰かがこの問題に遭遇した場合に備えて、これに答えると思いました。

この問題は、jCycle Lite や NivoSlider などの jQuery ライブラリ プラグインを実装しているときに Internet Explorer 10 でのみ発生することがわかりました。

jQuery 関数呼び出しを if ステートメントでラップすると、発生していた問題が解消され、ページが正しく読み込まれることがわかりました。

例えば:

            jQuery('.banner_slideshow .bannergroup_banner_slider').nivoSlider({
                effect: 'random'
            });

なりました:

if(jQuery('.banner_slideshow .bannergroup_banner_slider').length) {
            jQuery('.banner_slideshow .bannergroup_banner_slider').nivoSlider({
                effect: 'random'
            });
        }

これが IE10 で問題を引き起こした理由は完全にはわかりませんが、問題は解決したので、他の人の助けになることを願っています。

ありがとう

于 2013-02-07T14:10:06.617 に答える