Bilder ohne URL ansprechen
frank_eee
- javascript
Hallo Forum,
ich habe ein kleines Problem und würde mich freuen wenn mir einer Lösungen oder Ansätze bieten könnte.
Follgendes:
Ich hab mehrere Funktionen in denen Bilder untereinander getauscht werden. Soweit - Sogut. Nun soll aber überfrüft werden, ob die Bilder nun auch die richtigen sind. Zum veranschaulichen mach ich hier mal einen kurzen beispiel Quelltext hin:
var bild1
var bild2
var bild3
function aendern1() {
bild1 = document.namedesbildes1.src;
bild2 = document.namedesbildes2.src;
bild3 = document.namedesbildes3.src;
/*Bis dahin sind soweit erstmal die bilder definiert*/
document.namedesbildes1.src = bild2;
document.namedesbildes2.src = bild3;
document.namedesbildes3.src = bild1;
/*soweit auch nciht schwer zu verstehen, es werden die bilder getauscht*/
return}
so sieht jetzt die beispielfunktion aus. nun soll aber überprüft werden, ob bei document.namedesbildes1.src jetzt auch (bsp.:)"bild1.gif" ist und nicht "bild56.gif". würde auch klappen, wenn er bei dem ganzen vertauschen zeugs da oben nicht die bildnahmen immer MIT URL eintargen würde. als document.namedesbilde1.src wird dann nicht beispielsweise "bild.gif" eingetragen sondern "file:///name/name/name/bild.gif" und zwar das ganze auch obwohl ich nirgendwo pfade oder ähnliches mit angegeben habe (immer nur <img src="bild.gif" ...>)
also meine frage: gibt es eine möglichkeit abzufragen ob z.b. die letzen 5 zeichen vom bild-URL etwas bestimmtes enthalten oder kann man so quasi sonderzeichen setzten (wie etwa bei suchen z.b. wo man M*a eingibt und er sucht dinge raus wie Mamma und Martina)?
Wenn jemand eine Ahnung hat wie ich's machen könnte oder überhauptnicht verstanden hat worum's geht bin ich gern bereit das ncohmal ausfürhrlicher zu erklären (wollte mich kurz halten - hmm ist mir wohl nicht gelungen) bzw. wäre ihm/ihr sehr dankbar.
danke für's durchlesen,
gruß,
frank_eee
Hi
Wie man einen Text durchsucht steht hier: <../../tecl.htm#a20>
Infos ueber regulaere Ausdruecke: siehe <../../tecj.htm>
Tschau Holger
Hi Holger,
Wie man einen Text durchsucht steht hier: <../../tecl.htm#a20>
Infos ueber regulaere Ausdruecke: siehe <../../tecj.htm>
nein, ich möchte nicht wissen wie man einen Text durchsucht und die regulären ausdrücke haben mir bisher auch nciht weiter geholfen.
das mit dem text durchsuchen war nur als anschaung gemeint wie in etwa das auch für die url des bildes gelten sollte.
(mir scheint ich hab das doch etwas schwammig formuliert *g*)
was mir fehlt ist quasi eine möglichkeit die bilder mit document.bildname.src anzusprechen und abzufragen ob als wert hinten dran ein bestimmter ausdruck, wie etwa bild3.gif oder so, steht.
falls es da eine möglichkeit gibt...
danke trotzdem,
frank_eee
Hi frank_eee,
nein, ich möchte nicht wissen wie man einen Text durchsucht und die regulären ausdrücke haben mir bisher auch nciht weiter geholfen.
aber dein document.bildname.src ist doch quasi nur ein text - oder?
wenn du wissen möchtest was da am ende steht nimm doch einfach z.B. die letzten 9 zeichen davon (wie holger wohl auch gemeint hat)
if document.bildname.scr.slice(document.cildname.scr.length-9) == "bild3.gif"
müsste doch das sein, was du willst ?!?
(mir scheint ich hab das doch etwas schwammig formuliert *g*)
irgendwie schon :-)
weitere infos unter (wie holger schon sagte):
Wie man einen Text durchsucht steht hier: <../../tecl.htm#a20>
Infos ueber regulaere Ausdruecke: siehe <../../tecj.htm>
Eeye
Hallo frank_eee
so sieht jetzt die beispielfunktion aus. nun soll aber überprüft werden, ob bei document.namedesbildes1.src jetzt auch (bsp.:)"bild1.gif" ist und nicht "bild56.gif". würde auch klappen, wenn er bei dem ganzen vertauschen zeugs da oben nicht die bildnahmen immer MIT URL eintargen würde. als document.namedesbilde1.src wird dann nicht beispielsweise "bild.gif" eingetragen sondern "file:///name/name/name/bild.gif"
Versuch es mal mit folgendem Code, der ist etwas anpassungsbedürftig und nur mit dem IE getestet, löst aber grundsätzlich Dein Problem:
var xURL = ' ';
xURL = document.URL;
URLpart = xURL.split("\");
HTMLname = URLpart[URLpart.length-1];
if (HTMLname == xURL) // MSIE Version 4 + Windows95
{ URLpart = xURL.split("/");
HTMLname = URLpart[URLpart.length-1];
}
HTMLname = HTMLname.toLowerCase();
Dieses Beispiel führt dazu, daß in der Variablen HTMLname eben "datei.html" steht oder was auch immer der letzte Teil einer URL war, der nach dem letzten Backslash oder Schrägstrich steht.
Grüsse
Günter
Hi,
ich glaube, Du verrennst Dich ein bisschen - es geht nämlich schon zu überprüfen, welches Bild da gerade ist. Und zwar so:
1. Variablendefinition (war ja klar):
ordnerzu = new Image();
ordnerzu.src = "Ordner_zu.gif";
ordnerallg = new Image();
ordnerallg.src = "Ordner_allgemein.gif";
2. Kannst Du dann abfragen (und zwar über die Variablen!), welches Bild gerade "aktuell" ist, z.B. so:
function aendern(bildname, bildziel)
{
if(eval(bildziel)!=ordnerzu)
{
eval('document.' + bildname + '.src = ordnerzu.src');
}
else if(eval(bildziel)==ordnerzu)
{
eval('document.' + bildname + '.src = ordnerallg.src');
}
else
{}
}
Ist 'n Schnippsel aus 'nem Script, das ich mal verbrochen habe, musst Du natürlich an Deine Bedürfnisse anpassen. Ist nicht getestet unter NS (sehe aber keinen Grund warum's damit nicht gehen soll)!
Ach ja: dass den Bildern im <img>-Tag Namen zugewiesen werden müssen ist klar, denke ich.
Hoffe das hilft.
Grüße,
Utz
Nochmal Hallo an alle zusammen,
also, ich hab's jetzt hinbekommen indem ich mir aus allem was gepostet wurde das rausgesucht hab was mir gut erschien und dann aus dem ganzen mir was zusammengeschustert habe.
also dank an alle nochmal.
gruß,
frank_eee