-
Hallo erstmal,
Ich bin hier neu und hoffe es richtig zu machen
Ich hoffe ihr könnt mir helfen. Folgendes Problem:
-> Ich möchte gerne per Javascript und Ajax in einem DIV einen inhalt laden. bisher habe ich dieses Script:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
<script type="text/javascript"> /*********************************************** * Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no) var loadedobjects="" var rootdomain="http://"+window.location.hostname var bustcacheparameter="" function ajaxpage(url, containerid){ var page_request = false if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false page_request.onreadystatechange=function(){ loadpage(page_request, containerid) } if (bustcachevar) //if bust caching of external page bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) } function loadpage(page_request, containerid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(containerid).innerHTML=page_request.responseText } function loadobjs(){ if (!document.getElementById) return for (i=0; i<arguments.length; i++){ var file=arguments[i] var fileref="" if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding if (file.indexOf(".js")!=-1){ //If object is a js file fileref=document.createElement('script') fileref.setAttribute("type","text/javascript"); fileref.setAttribute("src", file); } else if (file.indexOf(".css")!=-1){ //If object is a css file fileref=document.createElement("link") fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css"); fileref.setAttribute("href", file); } } if (fileref!=""){ document.getElementsByTagName("head").item(0).appendChild(fileref) loadedobjects+=file+" " //Remember this object as being already added to page } } } </script> <script type="text/javascript"> window.onload = function() { var allLinks; if (document.getElementsByClassName) allLinks = document.getElementsByClassName("Link_Class_einfügen"); else allLinks = getElementsByClassName(document, "A", "Link_Class_einfügen"); for(var i=0; i<allLinks.length; i++) { allLinks[i].onclick = function() { ajaxpage(this.href,'div_id'); return false; } } } function getElementsByClassName(oElm, strTagName, strClassName){ var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); strClassName = strClassName.replace(/\-/g, "\\-"); var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"); var oElement; for(var i=0; i<arrElements.length; i++){ oElement = arrElements[i]; if(oRegExp.test(oElement.className)){ arrReturnElements.push(oElement); } } return (arrReturnElements); } </script>
Durch dass kann ich von einem Link der einer bestimmter klasse zugewiesen wurde, in einen div mit einer bestimmten ID einen inhalt einfügen.
Nun möchte ich aber, dass ich z.B. einen zweiten Link machen kann, der dann die selbe funktion ausführt, nur auf einen anderen div mit einer anderen ID...
Ich hoffe ihr kommt ein wenig nach!
Ich danke euch vielmals für eure Antworten!
-
Versuch mal in Zeile 83 'div.id' durch this.title zu ersetzen.
Im Title-Attribut des Links kloppst du dann jeweils die id des jeweiligen divs.
// ungetestet, versuch es einfach mal
-
meinst du das etwa so:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
<script type="text/javascript"> /*********************************************** * Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no) var loadedobjects="" var rootdomain="http://"+window.location.hostname var bustcacheparameter="" function ajaxpage(url, containerid){ var page_request = false if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false page_request.onreadystatechange=function(){ loadpage(page_request, containerid) } if (bustcachevar) //if bust caching of external page bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) } function loadpage(page_request, containerid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(containerid).innerHTML=page_request.responseText } function loadobjs(){ if (!document.getElementById) return for (i=0; i<arguments.length; i++){ var file=arguments[i] var fileref="" if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding if (file.indexOf(".js")!=-1){ //If object is a js file fileref=document.createElement('script') fileref.setAttribute("type","text/javascript"); fileref.setAttribute("src", file); } else if (file.indexOf(".css")!=-1){ //If object is a css file fileref=document.createElement("link") fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css"); fileref.setAttribute("href", file); } } if (fileref!=""){ document.getElementsByTagName("head").item(0).appendChild(fileref) loadedobjects+=file+" " //Remember this object as being already added to page } } } </script> <script type="text/javascript"> window.onload = function() { var allLinks; if (document.getElementsByClassName) allLinks = document.getElementsByClassName("Link_Class_einfügen"); else allLinks = getElementsByClassName(document, "A", "Link_Class_einfügen"); for(var i=0; i<allLinks.length; i++) { allLinks[i].onclick = function() { ajaxpage(this.title,'div_id'); return false; } } } function getElementsByClassName(oElm, strTagName, strClassName){ var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); strClassName = strClassName.replace(/\-/g, "\\-"); var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"); var oElement; for(var i=0; i<arrElements.length; i++){ oElement = arrElements[i]; if(oRegExp.test(oElement.className)){ arrReturnElements.push(oElement); } } return (arrReturnElements); } </script>
? -> denn dort wo jetzt "div_id" steht müsse eigentlich die ID des Divs hin geschrieben werden.... je nach div der angewählt werden soll...
danke für deine schnelle antwort!!
-
tut mir leid wenn ich noch nicht so gut im erklären binn...
-> 'div_id' bedeutet soviel wie: 'hier müsste die ID des DIVs hinein indem der inhalt geladen werden soll'
-> "Link_Class_einfügen" (zu finden auf linie 76 und 78) bedeutet dass dort die klasse des Links eingetragen werden muss -> wenn ein link in dieser klasse ist, lädt er (dass was er laden sollte , z.B. zweiteseite.html) in dem div der die ID hat, die in linie 83 angegeben ist den inhalt. (und nicht regulär als neue seite)
wenn ich nun einen neuen link anlege der einer anderen klasse zugeordnet ist, sollte dieser nun in einem anderen div (der wieder wie oben vordefiniert werden muss. und dadurch auch eine andere ID haben muss) den inhalt laden, und nicht im ersten div und nicht als neue seite...
versteht ihr es jetzt ein wenig besser?
ich möchte im endeffekt dass man z.b. bei Adobe Dreamweaver einen Text markieren kann - URL drauf setzen - Klasse zuweisen und fertig.
dadurch das dieser link nun dieser speziellen klasse zugeordnet ist, müsste die URL die er lädt sich im DIV mit der vordefinierten ID laden.
-
Ja und genau dieses 'div-Id' solltest du mal mit this.title ersetzen. Denn dann fügt er das, was im title-attribut des jeweiligen Links steht ein. Das musst du dann natürlich händisch jedem Link mitgeben (ein Title-Attribut mit der ID des jeweiligen Divs), da gibt es aber auch in DW soweit ich weiß ein Feld für....
-
danke schonmal...
habs jetzt verstanden was du meinst.
-> www.hydremag.ch/noiframe
es funktioniert nur leider noch nicht... (in diesem link kannst du sehen was ich gemacht habe)
wenn du dort den fehler findest, wärst du der beste!!
Ähnliche Themen
-
MDI Standard
Von Winner im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 15.01.08, 13:03 -
Tomcat: Standard-Webanwendung erstellen
Von janpaet im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 16.09.07, 18:33 -
W3C-Standard
Von Binio im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 17.11.06, 06:06 -
MFC in Standard-DLL nutzen
Von matz-melon im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 10.01.05, 14:53 -
Standard Texturpack
Von PCKing im Forum 3D Studio MaxAntworten: 1Letzter Beitrag: 09.08.02, 18:50



1Danke


Zitieren
Login





