2 Stimmen

Fehler bei der Verwendung von jquery animate "Out of memory at line: 13"

Ich versuche, meine Produkte Animation mit dem folgenden Code (jquery) anzuzeigen

var prodNum = <%=prodNum %>;
var i = 1;  
$.timer(5000, function(timer) {     
    $(".prods").hide("slide", { direction: "down" }, 500, function() { 
        $(".prods").html("<div class=\"prod\">" + $("#pr" + ((4*i) % prodNum)).html() + "</div>" + 
                        "<div class=\"prod\">" + $("#pr" + ((4*i + 1) % prodNum)).html() + "</div>" + 
                        "<div class=\"prod\">" + $("#pr" + ((4*i + 2) % prodNum)).html() + "</div>" + 
                        "<div class=\"prod\">" + $("#pr" + ((4*i + 3) % prodNum)).html() + "</div>");
        $(".prods").show("slide", { direction: "down" }, 500);
        i++;
     });

});

Es funktioniert gut mit Firefox, aber im IE bekomme ich "Out of memory at line: 13". Wie kann ich das beheben? Ich verwende Version 1.4.2

1voto

junkqwe Punkte 31

Ich habe das Problem gefunden.

Es war eine Berechenbarkeit zwischen der jQuery und der jQuery.ui Version

Gracias

0voto

Nick Craver Punkte 609016

Innerhalb Ihrer Methode statt der Verwendung von $(".prods") innerhalb der Methode, verwenden Sie $(this) etwa so:

var prodNum = <%=prodNum %>;
var i = 1;  
$.timer(5000, function(timer) {     
  $(".prods").hide("slide", { direction: "down" }, 500, function() { 
    $(this).html("<div class='prod'>" + $("#pr" + ((4*i) % prodNum)).html() + "</div>" + 
                 "<div class='prod'>" + $("#pr" + ((4*i + 1) % prodNum)).html() + "</div>" + 
                 "<div class='prod'>" + $("#pr" + ((4*i + 2) % prodNum)).html() + "</div>" + 
                 "<div class='prod'>" + $("#pr" + ((4*i + 3) % prodNum)).html() + "</div>")
           .show("slide", { direction: "down" }, 500);
    i++;
  });
});

Wenn Sie $(".prods") es animiert die einzelnen Elemente in Abhängigkeit voneinander (und zeitlich n Elemente, da jedes .hide() die die Warteschlangen jedes andere nuevo .prod Element, so dass die Animationen exponentiell zunehmen). Mit all den Dia-Animationen innerhalb von einander und Warteschlangen pro Element, IE wird nicht zu glücklich mit dieser vielen Animationen auf einmal gehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X