2014-01-29 34 views
-2

下面是從IE控制檯一些錯誤:jQuery代碼在IE8上不起作用。它適用於IE9和10

無法獲取的未定義或爲空引用屬性「過渡」

對象不支持屬性或方法「延遲」

$(function() { 
    $('.bubbleInfo').each(function() { 

     var distance = 0; 
     var time = 250; 
     var hideDelay = 10; 
     var hideDelayTimer = null; 
     var beingShown = false; 
     var shown = false; 
     var trigger = $('.trigger', this); 
     var info = $('.popup', this).css('opacity', 0); 

     $([trigger.get(0), info.get(0)]).mouseover(function() { 

      if (hideDelayTimer) 
       clearTimeout(hideDelayTimer); 

      if (beingShown || shown) { 
       // don't trigger the animation again 
       return; 
      } else { 
       // reset position of info box 
       beingShown = true; 

       info.css({ 
        display: 'block' 
       }).animate({ 
        opacity: 1 
       }, time, 'swing', function() { 
        beingShown = false; 
        shown = true; 
       }); 
      } 
      return false; 
     }).mouseout(function() { 

      if (hideDelayTimer) 
       clearTimeout(hideDelayTimer); 

      hideDelayTimer = setTimeout(function() { 
       hideDelayTimer = null; 
       info.animate({ 
        opacity: 0 
       }, time, 'swing', function() { 
        shown = false; 
        info.css('display', 'none'); 
       }); 
      }, hideDelay); 
      return false; 
     }); 
    }); 
}); 

我真的不知道什麼是錯。我不是jQuery的專家。

+0

請格式化您的代碼。這是不可讀的。 – Tarmo

+0

@Tarmo - 這是一個煩人的markdown bug ...你不能有一個列表塊,然後直接跟一個代碼塊......看看我的編輯,以瞭解如何應對它...... OP在格式化方面做了一切正確的事情: ) – Lix

+0

對不起..我會嘗試格式化它..我第一次在這裏發佈。 – Aldwin

回答

1

您使用的是哪個版本的jQuery?

jQuery's Browser Support page聲明jQuery 2.x適用於IE 9+,所以自然不會在IE 8上正常運行,在這種情況下,您必須使用jQuery 1.x.

如果您使用的是jQuery 1.x,那麼還有其他問題...

相關問題