webForumDet fria alternativet

Problem med ett annars fungerande script

4 svar · 271 visningar · startad av haider

haiderMedlem sedan jan. 2003988 inlägg
#1

Tjena

Först hur scriptet ser ut, det är mycket enkelt, och fungerar förutom en liten grej jag inte vet hur man ska lösa

var markeradBild= 0;
function skiftaBild(n) {
					
document.getElementById('Bildval_' + markeradBild).src = './galleri/galleri_rubrik_bildvalnummer_0' + (markeradBild+1) + '_off.gif';	
document.getElementById('Bildval_' + n).src = './galleri/galleri_rubrik_bildvalnummer_0' + (n+1) + '.gif';
document.getElementById('Bilden_' + markeradBild).style.display = 'none';
document.getElementById('Bilden_' + n).style.display = 'block';

markeradBild = n;

Problemet uppstår när den ska visa en bild som har nummer 10. Det går ju inte att den letar efter en fil som heter 010. Nåt förslag om hur jag bör göra? Jag kan ju klart ändra bildnamnet till 010, men kan man lägga till några enkla rader för att rätta till det i scriptet, så att vid 10 och uppåt, så slopar den nollan?

Har testat olika sätt, och de sätten fungerar alltid halvbra. Med halvbra menar jag att jag kan få det att funka att den visar 10:an, men när den lämnar 10:an så blir det så att de andra buggar (jag gjorde en if/else sats)

J.N.Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Hmm, låter som du har mycket att hämta på denna närliggande tråd http://www.webforum.nu/showthread.php?t=135265.

aasahMedlem sedan mars 20033 451 inlägg
#3

Varför låter du inte bild 1-9 heta 1-9 i stället för 01-09??
Jag kanske missförstår var problemet kommer ifrån... ?

haiderMedlem sedan jan. 2003988 inlägg
#4

Aasah - kanske är din den enklaste lösning, eftersom jag annars måste göra en mycket invecklad if/else sats, som kollar om föregående siffra var 10 eller uppåt, samt om nuvarande är 10 eller uppåt, samt att det inte är nåt stort tal osv.

Tja, ibland mucker jag bara gräl med jscript, och tigger om större problem, när man i själva verket kan lösa det enkelt.

Det är bara det, att siffror ser snyggare ut med 01 formatering ist. för 1-9. det var nog det enda skälet.

aasahMedlem sedan mars 20033 451 inlägg
#5

haider skrev:

... Det är bara det, att siffror ser snyggare ut med 01 formatering ist. för 1-9. det var nog det enda skälet.

Det kan du ju lösa enkelt vid utskrift i så fall. Exempel: (Borde fungera tycker jag.)

function niceName(bild) {
   // Om dina bildnamn börjar med "bild" före siffran.
   var p = /bild(\d+)/.exec(bild);
   if (p[1] < 10) return "bild0" + p[1];
   else return bild;
}

bild = niceName("bild23");
bildEarly = niceName("bild1"); //Borde ge bild01
Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb