Jquery backgroundPosition插件

时间:2012-10-17 11:14:13

标签: jquery plugins internet-explorer-8 background jquery-animate

我正在使用亚历山大·法卡斯(Alexander Farkas)的插件,它可以很好地激活背景。

即使在IE9中也能正常工作,但在IE8和IE7中给出了这个错误:'SCRIPT5007:无法获取属性'replace'的值:object is null或undefined'

在IE8中,他无法转换为函数赋值的值(通过值表示像素)...

有人可以看看吗?我不想发布孔js,但你可以在这里查看:

http://factorystore.hu/test/

提前致谢

1 个答案:

答案 0 :(得分: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,{