Eine Frage zu Javascript...
-
Anonymous
Eine Frage zu Javascript...
Hi und Hallo,
ich haba folgendes Script, in dem zwei Werte wichtig sind:
Anzahl der Bilder und Bildname.
Wie kann ich jetzt diese beiden werte über einen Link übergeben?
Beispiel: <a href="javascript:bild(bildname,anzahl)">Bilder</a>
Ich möchte halt nur ein Bilderscript haben und nicht für jede Art eines.
Hier mal das Script:
<script language="javascript">
<!--
var num = 8; <- Soll übergeben werden
function bild(i) {
if (document.images){
img = new Array();
if (b > num) b = 1;
img=new Image();
img.src="bildname"+i+".jpg"; <- "bildname" soll übergeben werden
document.images.bild.src=img.src;
}
}
// -->
</script>
Vielen Dank!
Schönen Tag wünsche ich noch;
Astrid
ich haba folgendes Script, in dem zwei Werte wichtig sind:
Anzahl der Bilder und Bildname.
Wie kann ich jetzt diese beiden werte über einen Link übergeben?
Beispiel: <a href="javascript:bild(bildname,anzahl)">Bilder</a>
Ich möchte halt nur ein Bilderscript haben und nicht für jede Art eines.
Hier mal das Script:
<script language="javascript">
<!--
var num = 8; <- Soll übergeben werden
function bild(i) {
if (document.images){
img = new Array();
if (b > num) b = 1;
img=new Image();
img.src="bildname"+i+".jpg"; <- "bildname" soll übergeben werden
document.images.bild.src=img.src;
}
}
// -->
</script>
Vielen Dank!
Schönen Tag wünsche ich noch;
Astrid
-
majortermi
- Userprojekt

- Posts: 916
- Joined: 2002-06-17 16:09
Re: Eine Frage zu Javascript...
Verstehe ich das richtig:
Du willst, ein zentrales JavaScript haben, das von verschiedenen Seiten, mit verschiedenen Bildern eingesetzt wird?
Da gibt es im Prinzip zwei Möglichkeiten:
Entweder du definierst in jeder Seite, in die du das Script einbindest, entsprechende globale Variablen, oder du erzeugst das JavaScript dynamisch per PHP.
Letzteres könnte z.B: so aussehen:
javascript.php
Ins HTML kannst du dass dann mit Hilfe von
einbinden.
Das oben war natürlich nur ein Beispiel, das noch ein bisschen angepasst werden muss, um CSS-Angriffen standzuhalten.
Du willst, ein zentrales JavaScript haben, das von verschiedenen Seiten, mit verschiedenen Bildern eingesetzt wird?
Da gibt es im Prinzip zwei Möglichkeiten:
Entweder du definierst in jeder Seite, in die du das Script einbindest, entsprechende globale Variablen, oder du erzeugst das JavaScript dynamisch per PHP.
Letzteres könnte z.B: so aussehen:
javascript.php
Code: Select all
<?php header("Content-Type: application/x-javascript"); ?>
function bild(i) {
var num = <?php echo $_GET['num']; ?>;
var bildname = "<?php echo $_GET['bildname']; ?>;
if (document.images){
img = new Array();
if (b > num) b = 1;
img[i]=new Image();
img[i].src="bildname"+i+".jpg"; <- "bildname" soll übergeben werden
document.images.bild.src=img[i].src;
}
}
Code: Select all
<script src="javascript.php?num=17&bildname=prefix_der_datei" type="text/javascript">Das oben war natürlich nur ein Beispiel, das noch ein bisschen angepasst werden muss, um CSS-Angriffen standzuhalten.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
Warum man sich an diese Reihenfolge halten sollte...
-
Anonymous
...
Hi,
vielen Dank für deine Antwort.
Leider unterstützt der Server kein PHP
Mit PHP wäre das ja kein Problem, aber mit Javascript...
Genau, ich möchte ein zentrales "Bild-Script"haben, dass ich ja auch schon gepostet habe.
Dafür müssen ja nur zwei Werte übergeben werden:
Die Anzahl der Bilder
Der Bildname
Nun ist halt die Frage, wie ich das mit Javascript übergeben kann, so dass das oben gepostete Script damit arbeiten kann.
Vielleicht gibt es ja eine Lösung
Beste Grüße;
Astrid
vielen Dank für deine Antwort.
Leider unterstützt der Server kein PHP
Mit PHP wäre das ja kein Problem, aber mit Javascript...
Genau, ich möchte ein zentrales "Bild-Script"haben, dass ich ja auch schon gepostet habe.
Dafür müssen ja nur zwei Werte übergeben werden:
Die Anzahl der Bilder
Der Bildname
Nun ist halt die Frage, wie ich das mit Javascript übergeben kann, so dass das oben gepostete Script damit arbeiten kann.
Vielleicht gibt es ja eine Lösung
Beste Grüße;
Astrid
Re: ...
Hallo,
Dann installier halt PHP. Ist ohnehin sinnvoller als der JS-Murks der allerspätestens dann nicht mehr geht, wenn ein Besucher ohne JS daherkommt.
So wie das Script jetzt ist, kann es nicht funktionieren, oder hast Du falsch abgetippt?
Wenn Du Werte an die Funktion übergeben willst:
function bild(bildname,num,i)
{
......
img.src=bildname+i+".jpg"
......
}
Wär glaub ich sinnvoll, wenn Du genau erklärst, was das Script machen soll (und solange schonmal PHP installierst).
Gruß, Wolfgang
was is denn das für eine Kiste? :(astrid2 wrote:Leider unterstützt der Server kein PHP
Dann installier halt PHP. Ist ohnehin sinnvoller als der JS-Murks der allerspätestens dann nicht mehr geht, wenn ein Besucher ohne JS daherkommt.
So wie das Script jetzt ist, kann es nicht funktionieren, oder hast Du falsch abgetippt?
Wenn Du Werte an die Funktion übergeben willst:
function bild(bildname,num,i)
{
......
img.src=bildname+i+".jpg"
......
}
Wär glaub ich sinnvoll, wenn Du genau erklärst, was das Script machen soll (und solange schonmal PHP installierst).
Gruß, Wolfgang
-
Anonymous
...
Hi,
so einfach ist das leider nicht.
Der Server auf dem das liegt gehört nicht mir und daher kann ich da keinen falls machen, was ich möchte.
Ich gebe dir natürlich Recht, ich würde sowas auch nie mit JS machen, aber man muss mit dem leben, was man gegeben hat :lol:
Also nochmal eine kleine Beschreibung:
Das Script an sich sollte so eigentlich funktionieren:
Die zwei beschriebenen Werte müssen nun noch irgendwie übergeben werden. So kann ich mit einem Script dann alle Bilder aufrufen, die ich haben möchte.
Die Anzahl der Bilder gibt an, wie viele Bilder es von dem Bildnamen gibt.
Alles andere geht dann eigentlich von selber.
Beispiel:
bilder.html?anzahl=5&art=bild
So würden hinterher 5 Bilder angezeigt:
bild1.jpg, bild2.jpg, bild3.jpg, bild4.jpg, bild5.jpg
Wäre klasse, wenn das irgendwie möglich wäre, am besten so einfach wie möglich.
Kann ich denn die werte nicht einfach in einem javascript-Link übergeben?
Wie egsagt, viel Ahnung habe ich nicht von JavaScript.
Vielen Dank;
Astrid
so einfach ist das leider nicht.
Der Server auf dem das liegt gehört nicht mir und daher kann ich da keinen falls machen, was ich möchte.
Ich gebe dir natürlich Recht, ich würde sowas auch nie mit JS machen, aber man muss mit dem leben, was man gegeben hat :lol:
Also nochmal eine kleine Beschreibung:
Das Script an sich sollte so eigentlich funktionieren:
Code: Select all
<SCRIPT language=Javascript>
<!--
var num = 4; // Anzahl der Bilder
function more(i) {
if (document.images){
img = new Array();
if (n > num) n = 1;
img[i]=new Image();
img[i].src="pic"+i+".gif"; // pic ist der Name der Grafiken
document.images.slides.src=img[i].src;
}
}
// -->
</SCRIPT>
Die Anzahl der Bilder gibt an, wie viele Bilder es von dem Bildnamen gibt.
Alles andere geht dann eigentlich von selber.
Beispiel:
bilder.html?anzahl=5&art=bild
So würden hinterher 5 Bilder angezeigt:
bild1.jpg, bild2.jpg, bild3.jpg, bild4.jpg, bild5.jpg
Wäre klasse, wenn das irgendwie möglich wäre, am besten so einfach wie möglich.
Kann ich denn die werte nicht einfach in einem javascript-Link übergeben?
Wie egsagt, viel Ahnung habe ich nicht von JavaScript.
Vielen Dank;
Astrid
Re: Eine Frage zu Javascript...
Hallo,
x1 ist der erste übergebene Wert, x2 der zweite. Die Namen der übergebenen Werte werden nicht beachtet.
Gruß, Wolfgang
ich glaub, ich hab jetzt verstanden, was Du willst.bilder.html?anzahl=5&art=bild
Code: Select all
<script language="javascript">
var s=window.location.search
var p=s.indexOf('=')
s=s.substr(p+1)
p=s.indexOf('%26')
x1=s.substr(0,p)
p=s.indexOf('=')
x2=s.substr(p+1)
alert(x1)
alert(x2)
</script>
Gruß, Wolfgang
Re: Eine Frage zu Javascript...
Hallo,
war mein Fehler, ist etwas browserabhängig und ich hatte nur mit IE6 ausprobiert. Jetzt funktioniert's auch mit Opera7 und Netscape4.7. Andere bitte möglichst auch noch ausprobieren.
Gruß, Wolfgang
war mein Fehler, ist etwas browserabhängig und ich hatte nur mit IE6 ausprobiert. Jetzt funktioniert's auch mit Opera7 und Netscape4.7. Andere bitte möglichst auch noch ausprobieren.
Code: Select all
<script language="javascript">
var s=window.location.search
var p=s.indexOf('=')
s=s.substr(p+1)
p=s.indexOf('%26')
if (p!=-1) { s=s.substr(0,p)+'&'+s.substr(p+3) }
p=s.indexOf('&')
x1=s.substr(0,p)
p=s.indexOf('=')
x2=s.substr(p+1)
alert(x1)
alert(x2)
</script>
-
Anonymous
...
Hi,
klappt leider immer noch nicht
Hier nun mal das Script:
Es wird immer NaN.jpg angezeigt, ich weiß nicht, was falsch ist :(
Gruß;
Astrid
klappt leider immer noch nicht
Hier nun mal das Script:
Code: Select all
<script language="javascript">
var s=window.location.search
var p=s.indexOf('=')
s=s.substr(p+1)
p=s.indexOf('%26')
if (p!=-1) { s=s.substr(0,p)+'&'+s.substr(p+3) }
p=s.indexOf('&')
x1=s.substr(0,p)
p=s.indexOf('=')
x2=s.substr(p+1)
alert(x1)
alert(x2)
</script>
<script type="text/javascript">
anzahl=+x1
bildnamen=+x2
start=1
function bild(richtung)
{
if(start+richtung<1)
start=anzahl
else if(start+richtung>anzahl)
start=1
else
start+=richtung
document.bild.src=bildnamen+start+".jpg"
}
</script>
Gruß;
Astrid
Re: Eine Frage zu Javascript...
Hallo,
Einfach die beiden + weglassen.
Gruß, Wolfgang
mit dem + unterstellst Du, daß x1 und x2 Zahlen sind. Bildnamen ist aber eine Zeichenkette. Er versucht dann, z.B. 0+'abc' zu rechnen und stellt dabei fest, daß 'abc' "not a number" ist.anzahl=+x1
bildnamen=+x2
Einfach die beiden + weglassen.
Gruß, Wolfgang