mmofacts.com

JQuery load()

gepostet vor 14 Jahre, 10 Monate von BlackScorp

jQuery load()

Hi leute ich möchte gerne meine seiten anzeigen ohne einen refresh mit der methode des JQuery Frameworks load().
meine Seiten werden so aufgerufen: ?site=xxx
meine navi sieht so aus:
HTML:
 Startseite

Neuigkeiten
//etc..
und mein Quellcode sieht so aus:
Javascript-Quelltext
$(document).ready(function(){
var linkName;
$(".subCol a").click(function(){
linkName = $("a").eq($("a").index(this)).attr("name");
$("body").load("index.php","site="+linkName, null);
});
});

also beim Ersten klicken wird eine bestimmte seite geöffnet aber danach nicht mehr. woran könnte das liegen? oder verwende ich falsche methode von jQuery?
MFG
gepostet vor 14 Jahre, 10 Monate von buhrmi

du musst den links die neu geladen werden ebenfalls einen clickhandler zuweisen oder du benutzt die jquery funktionen für live events.

davon abgesehen ist es kein guter Stil eine komplette Seite per Ajax nachzuladen.

gepostet vor 14 Jahre, 10 Monate von BlackScorp

Original von buhrmi

davon abgesehen ist es kein guter Stil eine komplette Seite per Ajax nachzuladen.

was wäre denn ein guter stiel? nur den Inhalt nachladen kann ich nicht da muss ich dann mir ein komplett neues konzept für mein seitenaufbau überlegen. es seidenn ich übergebe den inhalt als json array

gepostet vor 14 Jahre, 10 Monate von buhrmi

Ein besserer Stil ist jeder Stil, der dem Benutzer nicht die Möglichkeit nimmt mit den Browserbuttons zu navigieren und Inhaltsseiten zu bookmarken.

Original von BlackScorp

was wäre denn ein guter stiel? nur den Inhalt nachladen kann ich nicht

sollte man bei dem wechsel von navigationsebenen auch nicht. laden von "weiterem" inhalt (z.b. bei aufklappen eines newsbeitrags) ist jedoch OK.

gepostet vor 14 Jahre, 10 Monate von BlackScorp

achso du meinst also ich sollte meine links so lassen:

HTML:

xx

 und nur bei bestimmten ereignissen, ajax verwenden zb scrollen der map?

gepostet vor 14 Jahre, 10 Monate von buhrmi

rischtisch :D

gepostet vor 14 Jahre, 10 Monate von BlackScorp

ich habe nur diese methode auf der seite hier gesehen http://www.dark-enwor.de/ und dachte das wäre eigentlich eine gute idee. aber gut ich lasse es

MFG

gepostet vor 14 Jahre, 10 Monate von altertoby

Original von buhrmi

Ein besserer Stil ist jeder Stil, der dem Benutzer nicht die Möglichkeit nimmt mit den Browserbuttons zu navigieren und Inhaltsseiten zu bookmarken.

 Ich meine mal gelesen zu haben, dass man mit JQuery die History bearbeiten kann, und somit der "Zurück"-Button funktioniert.

Aber jap, für Seiten mit viel Inhalt empfiehlt es sich durchaus auf Ajax zu verzichten, aber z.B. InGame könnte ich mir eine pure Ajax-Version doch vorstellen.

gepostet vor 14 Jahre, 10 Monate von Nerosmeel

Ich hab bei mir Ingame gut 90% Ajax weils einfach besser aussieht und der Server weniger kramm durch die Gegend schicken muss ^^

gepostet vor 14 Jahre, 10 Monate von BlackScorp

auch auf der startseite?

gepostet vor 14 Jahre, 10 Monate von knalli

Bzgl. History und Ajax: Ankerpunkte, also z.B. site#home haben sich mittlerweile als praktikabel erwiesen. Damit kommt der Browser zurecht.. und du kannst dein Framework dementsprechend anpassen.

gepostet vor 14 Jahre, 10 Monate von BlackScorp

wie soll man das mit ankern umsetzen? ich habe immer gedacht dass ich beim klicken auf ein so ein link:

HTML:

Nach Oben

 hochgescrollt wird bis zu dem link namens #top aber dass ich damit seiten laden kann??

kannste ein kleines beispiel posten? würde mich mal interessieren wie man sowas umsetzt

MFG

gepostet vor 14 Jahre, 10 Monate von knalli

Zunächst einmal ist das "Hochscrollen per #top" nur eine von vielen Möglichkeiten, die man mit Ankerpunkten realisieren kann. Tatsächlich bedeutet es in der Spezifikation jedoch nur, dass der Anker innerhalb des Dokumentes "angesprungen" werden kann - also quasi ein "relativer" Link innerhalb einer Seite, wenn man so will. Bricht man das auf eine -komplette Ajaxanwendung- runter, dann muss man die Ankerpunkte als "Seiten" verstehen.

Beispiele? Wie wäre es mit Google (Mail)? Einige Frameworks bieten das eingebaut schon ein, ansonsten musst du nur die Url im Javascript nehmen, und den Ankerpunkt herausfischen (ist ja kein Akt). Danach kannst du beim Laden Ajaxanwendung die entsprechende "Unterseite" laden (Bookmarks funktionieren). Nicht vergessen, das bei einem dynamischen Ersetzen (!) der Seite der Ankerpunkt in der URL neu gesetzt werden muss.. auch kein Problem. 

Für Beispiele, empfehle ich Google. Spontan spricht mich das 3. Suchergebnis an: http://yensdesign.com/2008/11/creating-ajax-websites-based-on-anchor-navigation/

Auf diese Diskussion antworten