0

我使用的是Alexander Farkas的一個插件,它可以很好地背景背景。jquery backgroundPosition插件

它甚至在IE9工作正常,但在IE8和IE7給了我這個錯誤:「SCRIPT5007:無法獲得屬性的值‘取代’:對象爲null或undefined」

不知怎的,在IE8中,他不能轉換給函數的值(通過值我的意思是像素)...

有人可以看看嗎?我沒有要發佈的孔JS,但你可以點擊此處查看:提前

http://factorystore.hu/test/

感謝

回答

0

確保不會有後面的逗號的IE不喜歡尾隨逗號陣列/對象。

檢查這兩行

start = toArray(start); 
var end = toArray(fx.end); 

更新解決方案

粘貼此代碼

if(!document.defaultView || !document.defaultView.getComputedStyle){ // IE6-IE8 
     var oldCurCSS = jQuery.curCSS; 
     jQuery.curCSS = function(elem, name, force){ 
      if(name === 'background-position'){ 
       name = 'backgroundPosition'; 
      } 
      if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){ 
       return oldCurCSS.apply(this, arguments); 
      } 
      var style = elem.style; 
      if (!force && style && style[ name ]){ 
       return style[ name ]; 
      } 
      return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force); 
     }; 
    } 

這條線之上

$.extend($.fx.step,{ 
+0

但應該如何我在這種情況下做到這一點? –

+0

我已經更新了我的代碼,請檢查這兩行,並嘗試獲取開始和結束的值,例如: – rahul

+0

yes問題存在,例如開始值爲[0,「px」,0,「px」]和[0,「px」,-520,「px」],甚至IE9給我這些值,但IE8回饋我在開頭提到的錯誤。所以不知怎麼,他不能很好地與替換和匹配..至少所以我認爲 –