Archivlink: javarea.de Forum > JavaScript > .js-variable in HTML-datei schreiben - wie?
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > .js-variable in HTML-datei schreiben - wie?

Pages: [1]

geschrieben von pano am 29.01.2006 - 16:22
hallo!

ich habe eine anfängerfrage mir einer bildergalerie:

und zwar rufe ich eine scriptdatei gal.js auf, in der zwei kleine funktionen ihre arbeit tun. unter anderem wird in den funktionen die variable 'nummer' hochgezählt, die aber im HTML-dokument definiert ist. das sieht dann so aus:

<script src="gal.js" type="text/javascript"></script>
<script type="text/javascript">
var nummer = 1;
max = 8; // bilderanzahl eintragen
galname = "20051015"; // ordner eintragen im format YYYYMMDD
</script>

jetzt möchte ich lediglich den wert dieser variablen 'nummer' in meinem hauptdokument ausgeben, etwa in der form 'Bild (nummer) von (max)'. leider scheine ich da eine echte blockade zu haben, denn schwer kann das ja nicht sein. aber ich kriege das einfach nicht hin. document.write(nummer) macht ja das ganze fenster platt, aber wenn ich mit 'id' oder 'name' einen bereich definiere und dann mit document.write.bereich(nummer) arbeiten will, wird nicht mehr hochgezählt...

ich bin ratlos und ziemlich sicher, das die lösung so einfach ist, das es wehtut. hat jemand einen tip für mich?

tausend dank, philipp


geschrieben von Hawk am 29.01.2006 - 19:31
hallo,
ich versteh nur Bahnhof, zeig doch mal Dein ganzen Code. und beschreibe mal genau was gemacht werden soll

geschrieben von Micha am 29.01.2006 - 20:05
Hi

wenn ich es richtig verstanden habe, dann so:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
<p id="Bildnummer">&nbsp;</p>
<script>
document.getElementById("Bildnummer").innerHTML = nummer;

...
</script>


Beachte bitte, das Du mit .getElement(s)ByXXX() erst auf einen Knoten zugreifen kannst, wenn dieser schon existiert! Somit geht nicht:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
<script>
document.getElementById("Bildnummer").innerHTML = nummer;

...
</script>

Micha
<p id="Bildnummer">&nbsp;</p>



geschrieben von pano am 29.01.2006 - 20:08
hey,

danke für die rückmeldung. ich versuche es einfach nochmal, und den code hab ich tatsächlich vergessen

also: ich mache eine bildergalerie (hier eine rohfassung mit geklautem js: http://www.panotar.net/daisies/gall....al_01.html). dabei tausche ich die jeweilige bildadresse ganz einfach in den funktionen backward bzw forward über 'document.images.bild.src'. bis dahin ist auch alles klar.

nur möchte ich jetzt einen dazugehörigen text (etwa 'Bild x von y'), der fortlaufend mitzählt. das müsste also auch dynamisch passieren. und da ja die jeweilige nummer in der hoch/runterzählenden variable 'nummer' abgelegt ist, müsste es eigentlich also nur eine entsprechende konstruktion auch für diese variable geben, oder???

nochmal danke, philipp

code gal_01.html
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 

<?
<script src="gal.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var nummer = 1; 
    max = 8;                             // bilderanzahl eintragen 
    galname = "20051015";      // ordner eintragen im format YYYYMMDD 
</script> 

--- SCHNIPP ---

     <A HREF="javascript:backward(galname)"><IMG SRC="../img/ga_zur.gif" WIDTH="30" HEIGHT="30" BORDER="0" ALT="Prev"></A> 
     <A HREF="javascript:forward(galname)"><IMG SRC="../img/ga_vor.gif" WIDTH="30" HEIGHT="30" BORDER="0" ALT="Next"></A> 

     <BR><IMG SRC="20051015/1.jpg" NAME="bild">
?>


code gal.js
PHP-Quelltext
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: 

<?
var filename ""

function 
backward(g_nr){ 
window.status=''
if (
nummer>1){ 
   
nummer--; 
   
filename g_nr "\/" nummer ".jpg"
   
document.images.bild.src=filename
   } 
else { 
     
nummer max
     
filename g_nr "\/" nummer ".jpg"
     
document.images.bild.src=filename
     } 


function 
forward(g_nr){ 
window.status=''
if (
nummer <= max){ 
   
nummer++; 
   
filename g_nr "\/" nummer ".jpg"
   
document.images.bild.src=filename
   } 
else { 
     
nummer 1
     
filename g_nr "\/" nummer ".jpg"
     
document.images.bild.src=filename
     } 
}
?>


geschrieben von Micha am 29.01.2006 - 20:19
Hi

Ja, dann schreib das:
HTML-Quelltext
1: 
document.getElementById("Bildnummer").innerHTML = nummer;


in die Funktion backward und forward und erstelle einen Bereich für die Ausgabe:

HTML-Quelltext
1: 
<p id="Bildnummer">&nbsp;</p>


Micha

geschrieben von pano am 29.01.2006 - 20:30
he micha,

ich weiss nicht, ob ich lachen oder weinen soll: tausend dank für diesen hinweis, aber mir ist schleierhaft, warum ich einen ganzen nachmittag land java-dokumentationen durchgewühlt habe, ohne mir das all-objekt mal genauer anzusehen

hab's jetzt auf alle fälle so gelöst:

HTML
<BR>Bild <B id="var_nr">1</B> von <script type="text/javascript">document.write(max)</script>

.js
document.getElementById("var_nr").innerHTML = nummer;

nochmal, tausend dank!!!

philipp


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.