当我尝试运行我的网站时,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();
}});