Antworten auf deine Fragen:
Neues Thema erstellen

[jQuery] Inhalt aus XML-Datei einzeln nachladen

greenthunder

Nichtskönner

Hallo,

ich möchte aus einer XML-Datei Artikel einzeln nachladen und habe bisher folgende jQuery-Funktion. Meine Idee war alle Texte zu laden, aber nur den ersten Anzeigen zu lassen (css: display:none). Beim Klick auf den Link soll dann entsprechend der erste Artikel ausgeblendet und der Nächste angezeigt werden.

Das Problem dabei ist nun, dass irgendwie die ganze Seite neu geladen und immer der erste Artikel angezeigt wird. Kann mir jemand sagen wo der Fehler liegt? Danke.

PHP:
$(document).ready(function() {
	var i = 0;
	var j = 0;	
	$.get("news.xml", function(XML){
		$(XML).find("Article").each(function(){
			var date = $(this).attr("Date");
        	var headline = $(this).find("HeadLine").text();
        	var content = $(this).find("Content").text();		 
			$("#News").append("<div class='article' id='"+j+"'><p>"+date+"</p><p><h2>"+headline+"</h2>"+content+"</p><p><a href='' class='next' id='"+i+"'>nächster Artikel</a></p></div>");	
			j+=1;
			$("#"+i).css("display","block");
		});
		$(".next").live("click", function(){
			$("#"+i).css("display","none");
			i+=1;
			$("#"+i).css("display","block");
			$.get.die();
			});
	});
});
 

sokie

Mod | Web

AW: [jQuery] Inhalt aus XML-Datei einzeln nachladen

ohne html ist das immer etwas schlecht zu sagen, ich vermute aber, dass das element mit der Klasse 'next' ein <a> element ist.
wenn das der Fall ist hast du zwei möglichkeiten, entweder das <a> gegen ein Element austauschen, das von "haus aus" (also defaultmässig) keinen seitenaufruf beim Klicken zur Folge hat, oder das Defaulverhalten des <a> beim Klick-Event direkt zu unterbinden (preventDefault()):
Code:
[COLOR=#000000][COLOR=#007700]$([/COLOR][COLOR=#dd0000]".next"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]live[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"click"[/COLOR][COLOR=#007700], function(event){
            event.preventDefault(); 
            $([/COLOR][COLOR=#dd0000]"#"[/COLOR][COLOR=#007700]+[/COLOR][COLOR=#0000bb]i[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]css[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"display"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]"none"[/COLOR][COLOR=#007700]); 
            [/COLOR][COLOR=#0000bb]i[/COLOR][COLOR=#007700]+=[/COLOR][COLOR=#0000bb]1[/COLOR][COLOR=#007700]; 
            $([/COLOR][COLOR=#dd0000]"#"[/COLOR][COLOR=#007700]+[/COLOR][COLOR=#0000bb]i[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]css[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"display"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]"block"[/COLOR][COLOR=#007700]); 
            $.[/COLOR][COLOR=#0000bb]get[/COLOR][COLOR=#007700].die(); 
            });

[/COLOR][/COLOR]
 

greenthunder

Nichtskönner

AW: [jQuery] Inhalt aus XML-Datei einzeln nachladen

ohne html ist das immer etwas schlecht zu sagen, ich vermute aber, dass das element mit der Klasse 'next' ein <a> element ist.
wenn das der Fall ist hast du zwei möglichkeiten, entweder das <a> gegen ein Element austauschen, das von "haus aus" (also defaultmässig) keinen seitenaufruf beim Klicken zur Folge hat...

Super, vielen Dank. Da der klickbare Link im Ajax erzeugt wurde: $("#News").append(...), war der HTML-Code eigentlich gar nicht nötig.
Aber der Hinweis mit dem "doppelten Klick" war sehr hilfreich, hab das a jetzt in einen span gewandelt und es klappt wunderbar.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben