Ich versuche, eine einfache Animation zu erstellen. Lange Geschichte kurz, ich habe eine Liste von 20 kleinen divs und ein außerhalb div. Ich möchte fünf kleine Divs innerhalb eines großen Divs zur gleichen Zeit anzeigen. Idealerweise würde ich eine Reihe von nächsten 5 divs alle 5 Sekunden erhalten.
Ich benutze Jquery Ajax-Funktion, um kleine Divs zu erstellen, hier ist der Code:
$(document).ready(function(){
var amount=0;
$.ajax({
type: "GET",
url: "SampleServiceIncidentList.xml",
dataType: "xml",
success: function(xml){
//creates divs within GadgetMain div, works fine.
});
amount = $("#gadgetMain").children().size(); //counts how many small divs there are
$("#testText").append("amount of children:"+amount); //and displays it in a test field
divideFeed();
}//close success
}); //close $.ajax(
function divideFeed(){ //divides the set of small divs into groups
var limit = 5;
var pagesNo = Math.ceil((amount/limit));
var minimum=0;
var maximum;
var i=0;
while (i<pagesNo)
{
minimum= i*limit;
maximum=minimum+limit;
//
// PROBLEM HERE
//
populate(minimum, maximum);
i++;
}
}
function populate(minimum, maximum){
$("#gadgetMain div").addClass('hidden'); //hides all small divs
$("#testText").append('<br/>min: '+minimum+' max: '+maximum); //prints current group of divs (0-5; 5-10 etc)
$("#gadgetMain div").slice(minimum,maximum).removeClass('hidden');
}
});
Das Problem ist also, dass ich es nicht dazu bringen kann, 5 Sekunden zu warten, um eine Gruppe von Divs anzuzeigen, an denen ich interessiert bin. Ich weiß, dass es divs richtig teilt - wenn ich den minimalen und maximalen Wert alarmieren, ändert es den Inhalt des äußeren div jedes Mal, wenn ich die Warnung schließen. Aber ich kann keine Möglichkeit finden, die Funktion zu pausieren.
Ich wäre sehr dankbar für Hilfe, es macht mich verrückt.