簡體   English   中英

jQuery旋轉器僅在IE8和9中損壞

[英]JQuery rotator broken in IE8 & 9 only

我正在運行以下代碼來創建JQuery圖像漸變器:

function slideSwitch() {
    var $active = $('#slideshow IMG.active');

    if ( $active.length == 0 ) $active = $('#slideshow IMG:last');

    var $next =  $active.next().length ? $active.next()
        : $('#slideshow IMG:first');   

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}

$(function() {
    setInterval( "slideSwitch()", 5000 );
});

在IE 8和9以外的所有瀏覽器中,此功能都可以正常工作。我在IE8中看到以下錯誤:

Object Expected

Object doesn't support this property or method

這些錯誤是此行的第一個字符:

$(function() {
    setInterval( "slideSwitch()", 5000 );
});

該站點正在HubSpot CMS中運行。 我在首頁的部分中同時調用了JQuery和JS:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://XXXXXXXX.com/Portals/XXXXXXX/js/slider.js"></script>

也許IE阻止了ajax.googleapis.com的文件-在IE9中,當您在頁面中單擊F12時,轉到“網絡”選項卡,單擊“開始捕獲”並重新加載頁面。

您應該看到以下行:

您得到的“結果”值是什么?

我對此進行了測試,使用您擁有的jQuery版本得到了錯誤,得到了錯誤,然后將代碼替換為:

$(function() {
    setInterval(function(){slideSwitch()}, 5000);
});

然后這對我來說沒有錯誤: http : //jsfiddle.net/RFTxE/1/

用戶錯誤。 (這是我的問題)

我無法提供訪問該網站本身的權限,因為它背后是密碼,但是我有一個朋友替我調查了該網站,並且:

在腳本調用之前有一個未封閉的條件注釋正在加載IE7 CSS,而在腳本調用之后有另一個(適當關閉)條件注釋。 較大的IE認為整個位僅用於7。 其他瀏覽器了解得更多。

對於我來說,所有這些本來可以很簡單地捕獲代碼驗證器,但是如果您曾經嘗試驗證HubSpot站點,您就會理解。

非常感謝您的幫助! 我真的很感激!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM