14. august 2011 - 13:39Der er
7 kommentarer og 1 løsning
jQuery animation ved XML opdatering
Er der nogen der har erfaring med at bruge Ajax jQuery animationer, eller lign. på en sådan måde, at hvis man har en XSLT fil der generer en for-each liste ud fra en XML fil, at når man gør dette med ajax, efter sideload. Kan man så indføre animationer på evt. nye elementer, forsvundne elementer, eller opdaterede elementer. Evt. ud fra et ID, eller DOM træ eller noget?
Jeg tænker dette som en mere generel metode, end en specieltlavet metode til hver XML fil.
Du har et xml ark, du vil gerne i din xsl:foreach afvikle et ajax kald for hver loop i for-each'en ?
Dette bør udføres vha ajax only.
Psuedo:
$.ajax({ url: "ditXmlark.xml", success: function(data){ //data = xmldocument, loop igennem dem, i stedet for xsl:for-each, og udfør din animation } });
Jeg tror ikke rigtig det der gør hvad jeg gerne vil have den til.
Jeg tænker at jeg henter en xml liste fra en tabel ca. hvert 10. sek, og genererer en html kode via en xslt. Hvis der nu er kommet et nyt element, vil jeg gerne "animere" dette ind mellem de andre. Jeg ved hvordan det skal laves hvis man vil lave det for en specifik case, men tænke om man kunne lave noget generelt som altid virker.
Måske det er smartere at spørge, er der en smart måde hvorpå man kan "sammenligne" elementer i 2 DOM træer (det man viser, og det man har genereret genindlæsning af xml filen)?
Hvis du alligevel henter alle nyheder ud kan du jo bare sammenligne de 2 tekster, og hvis der er forskel animere den sidste nyhed frem.
Dog ville jeg:
1: Hente alle nyheder til dem (ren xslt), til seo. 2: Sætte en cookie med tidspunkt de renderede listen første gang 3: Tage cookie tidspunkt og "currentTime", med over i dit ajax kald, så den kun spørger efter nyeder der er "nye", når den finder en ny, opdateres tidspunkt i cookie. 4: Animer den nye nyhed ind i listen med var data = $("<li class='new'>data</li>").hide(); $("#list").append($data) $(".new").animate().show().cssClass("old");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.