对象不支持此属性或方法。 IE8

时间:2013-05-12 21:54:09

标签: jquery

当我尝试运行我的网站时,IE8使用ERROR提示我:'对象不支持此属性或方法。

  

根据IE8调试器的对象是回调:shard.leftTop();

callstack中的第一个报告(我希望有助于告知)是这一行:

c.readystate==="complete" && (c.detachment("onreadystatechange", b),e.ready()).

我不确定我应该在我的代码中查找错误...完全不知所措。

*修改

更接近错误来源:

好的家伙调试器告诉我问题是在

呼叫之前直接启动
shard.leftTop();

所以,我会尝试解释一下。这就是它在chrome中的工作原理。

index.html保存文档点就绪功能,立即设置:

var shard = new shards( $('div.shard') );

相应的函数位于与index.html相同的目录中的另一个.js文件中:

function shards( container ){

在索引页面的下方调用原型函数表达式

 shard.leftTop();

看起来像这样:

shards.prototype.leftTop = function(){

并存储在另一个.js文件和目录中。

然后扩展原型,在函数函数中创建函数和回调。

var left_top = $.extend({
debugger;
one_LT: function(){ 
if (a === 5){ a = 0; stackTimer++;}
else if (a < 3){aaL = 50; aaT = 250; aaS = 1250; aaF = aaS; }
else  { aaL = 450; aaT = 50; aaS = 750; aaF = aaS; }

$(shards).eq(a).show();
$(shards).eq(a).fadeOut(aaF);

$(shards).eq(a).animate({

"left": animationX - aaL,
"top": animationY - aaT},
{
duration: aaS,
queue: false,
complete: function(){ 

$(shards).eq(a).fadeIn(10);
$(shards).eq(a).offset({left: defaultLeft_LT, top: defaultLeft_LT});
$(shards).eq(a).hide();

a++;

if(stackTimer === 1){

// $('div.stack').eq(0).offset({left: stackL_Ldef, top:stackL_Tdef});
$('div.stack').eq(0).css({"position":"absolute","left":"47.6%","top":"50.35%"});
$('div.stack').eq(0).fadeIn(3000);
};

left_top.one_LT.apply();

}});

0 个答案:

没有答案