Ich möchte ein paar divs auf der gleichen Seite funktionieren ähnlich wie iframes. Jeder lädt eine URL, die Links enthält. Wenn Sie auf diese Links klicken, möchte ich, dass eine AJAX-Anfrage ausgeht und den HTML-Code des DIVs durch einen neuen HTML-Code von der Seite des angeklickten Links ersetzt. Es wird sehr ähnlich zum Surfen einer Seite in einem Iframe sein.Hilf mir, eine jquery AJAXed divs 'Links arbeiten wie ein iframe
Hier ist mein Code, um zunächst die divs zu laden (dieser Code funktioniert):
onload:
$.ajax({
url: "http://www.foo.com/videos.php",
cache: false,
success: function(html){
$("#HowToVideos").replaceWith(html);
}
});
$.ajax({
url: "http://www.foo.com/projects.php",
cache: false,
success: function(html){
$("#HowToProjects").replaceWith(html);
}
});
Dies ist ein Beispiel des Codes, die ich nicht ganz sicher bin, wie aber zu implementieren erklärt das Konzept. Könnte ich Hilfe mit einigen Selektoren bekommen (Surround in?) Und oder lassen Sie mich wissen, was ist der richtige Weg? Ich möchte auch ein Ladesymbol anzeigen, das ich wissen muss, wo der richtige Ort ist, um die Funktion zu platzieren.
$(".ajaxarea a").click(function(){
var linksURL = this.href; //
var ParentingAjaxArea = $(this).closest(".ajaxarea");;
$.ajax({
url: linksURL,
cache: false,
success: function(html){
$(ParentingAjaxArea).replaceWith(html);
}
});
return false;
});
$(".ajaxarea").ajaxStart(function(){
// show loading icon
});
Dank für die Hilfe! Ich fand auch "engste()" zu sein, was ich für ParentingAjaxArea verwenden möchte, auf diese Weise kann die HTML-Struktur alles sein. Ist es in Ordnung, "this" anstelle von "$ (this)" zu verwenden? Siehe oben zum Beispiel bearbeiten. – Dave
@Dave: Sie sind richtig, am nächsten ist in diesem Fall besser, ich werde meine Antwort aktualisieren. –
@Dave: Sie müssen 'this' in einen jQuery-Aufruf einbinden, weil' this' in einem Event-Handler nur auf das Element verweist, für das der Handler aufgerufen wurde, nicht auf ein jQuery-Objekt. –