2014-01-17 39 views
2

我創建了一個JavaScript腳本。當用戶將鼠標懸停在產品上時,會出現一個新元素。這是我的腳本:Js腳本在IE 7上速度太慢IE8

$('.product-item').hover(function(){ 
    var offset = $(this).offset(); 
    $('.product-hover') 
     .html("<div class='product-item'>" + $(this).html() + "</div>") 
     .css({ 
      display: 'block', 
      left: offset.left, 
      top: offset.top, 
      width: $(this).width() 
     }); 
}); 

它在Firefox和Chrome上工作正常。但在IE7和8上,當我嘗試懸停時,瀏覽器停止工作一段時間(大約10秒)。您不能點擊.product-hover或他的孩子元素(例如鏈接和按鈕)。

你能告訴我爲什麼以及如何解決它。
謝謝你這麼多

+0

你使用的是什麼版本的jQuery? – elclanrs

+0

我正在使用jQuery 1.7.1.Thanks – user3207713

+0

這是否發生在您首次將鼠標懸停在某個產品上或者在其他幾個鼠標懸停之後? – jammykam

回答

0

這是我所知道的IE8和IE7造成就像你剛纔描述的類似行爲:

IE8和更早版本的默認設置超時閾值限制設置5,000,000聲明。

微軟發佈了一個補丁來解決這個:http://support.microsoft.com/kb/175500

請注意,微軟還指出,這是如果有必要的註冊表項,以增加它可以將任何級別:

使用註冊表編輯器,例如REGEDT32。 exe文件,打開該鍵:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles 

注意如果樣式鍵不存在,創建一個名爲樣式新的密鑰。

在此項下創建一個名爲「MaxScriptStatements」的新DWORD值,並將該值設置爲所需數量的腳本語句。

如果您不確定需要設置哪個值,可以將其設置爲DWORD值0xFFFFFFFF以避免出現對話框。