for (i=0;i<50;i++){
for (nr=315;nr<501;nr++){
if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
break;
}
}
if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
var s=nr;
break;
}
}
Lite tabulering hjälper till att klara upp situationen...
Den andra if-satsen får det värde som blir över efter for-loopen, 501 i detta fall. Så nr är alltid 501 när den andra if-satsen körs. Är det så du vill att ska vara?
Semantiskt är det inte korrekt, eftersom du definierar en lokal variabel i if-satsen utan att använda den (möjligtvis försöker du använda 's' utanför loopen, men det är inte riktigt).
var s = 0;
for (i=0;i<50;i++){
for (nr=315;nr<=501;nr++){ [b]// '<='[/b]
if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
s = nr;
break;
}
}
}
if (s != 0){
// använd 's'
}
Då har du färre än 50 bilder på sidan. Istället för '50' nedan kan du använda document.images.length.
var s = 0;
outer:
for (i=0;i<document.images.length;i++){
for (nr=315;nr<=501;nr++){ // '<='
if(document.images[i].src.indexOf("/"+nr+".JPG") != -1){
s = nr;
break outer;
}
}
}