[英]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.