使用jquery动画时的Erorr“行内存不足:13”
我试图用以下代码显示我的产品动画(jquery)
var prodNum = ; var i = 1; $.timer(5000, function(timer) { $(".prods").hide("slide", { direction: "down" }, 500, function() { $(".prods").html("" + $("#pr" + ((4*i) % prodNum)).html() + "" + "" + $("#pr" + ((4*i + 1) % prodNum)).html() + "" + "" + $("#pr" + ((4*i + 2) % prodNum)).html() + "" + "" + $("#pr" + ((4*i + 3) % prodNum)).html() + ""); $(".prods").show("slide", { direction: "down" }, 500); i++; }); });
它与firefox工作正常,但在IE中我得到“行内存不足:13”我该如何解决这个问题? 我使用的是1.4.2版
谢谢
发现了问题。
它是jQuery和jQuery.ui版本之间的可计算性
谢谢
在方法内部而不是在方法中使用$(".prods")
,使用$(this)
,如下所示:
var prodNum = <%=prodNum %>; var i = 1; $.timer(5000, function(timer) { $(".prods").hide("slide", { direction: "down" }, 500, function() { $(this).html("" + $("#pr" + ((4*i) % prodNum)).html() + "" + "" + $("#pr" + ((4*i + 1) % prodNum)).html() + "" + "" + $("#pr" + ((4*i + 2) % prodNum)).html() + "" + "" + $("#pr" + ((4*i + 3) % prodNum)).html() + "") .show("slide", { direction: "down" }, 500); i++; }); });
当你使用$(".prods")
它会相互依赖地动画每个元素(并且n
元素的时间,因为每个.hide()
完成所有其他新的.prod
元素的排队,它会以指数方式复合动画)。 随着所有幻灯片动画彼此之间以及每个元素的排队,IE将不会对这一多个动画立刻感到满意。