Avatar billede tejs Nybegynder
06. februar 2003 - 13:42 Der er 4 kommentarer og
1 løsning

Image rotator

Jeg er igang med at lave en side med 32 billeder på.
Disse billeder bliver på skift, udskiftet med et nyt billede. Der er i alt 400 forskellige billeder i "puljen".



<a href="#" onclick="NewWindow('popup.asp?id=1','Test','150','75','no');return false;" onfocus="this.blur()"><img src="images/Test_32.jpg" width="120" height="80" border="0" name="Img1"></a>
.
.
.
.
.
<a href="#" onclick="NewWindow('popup.asp?id=32','Test','150','75','no');return false;" onfocus="this.blur()"><img src="images/Test_32.jpg" width="120" height="80" border="0" name="Img32"></a>


Jeg bruger dette script til at rotere billederne med:
<script>
var PlaceNr = 0;
var ImgPos = 32;
var ImgName="";
var Img_new;


function changeImages() {
    if (document.images) {
        for (var i=0; i<changeImages.arguments.length; i+=2) {
            document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
        }
    }
}


function RotatePic()
{
    PlaceNr=PlaceNr+1;
   
    ImgPos=ImgPos+1;
    if (ImgPos>400) ImgPos=1;
   
    ImgName = 'Img' + PlaceNr;
   
    changeImages(ImgName,"images/Test_" + ImgPos +".gif");
   

    setTimeout( "RotatePic()", 1000 );
}


setTimeout( "RotatePic()", 1000 );

</script>

Det roterer billederne perfekt, men som I kan se har jeg et link på hvert billede og på hvert link en querystring.
f.eks.: popup.asp?id=32

Hvordan får jeg ændret den querystring i takt med at billederne også ændres, så der f.eks. linkes til popup.asp?id=64 når man trykker på billede nummer 64.

MVH
Tejs
Avatar billede justdoit Nybegynder
06. februar 2003 - 14:40 #1
Er dette ikke et spørgsmål til ASP??

<%=("<a href=""siden.asp?id=" & objRec("id") & """ onclick="NewWindow('popup.asp?id=32','Test','150','75','no');return false;" onfocus="this.blur()"><img src="images/Test_32.jpg" width='120' height="80" border='0' name='Img32'></a>")%>

Eller har jeg misforstået?
Avatar billede tejs Nybegynder
06. februar 2003 - 15:13 #2
Querystrings er godt nok ASP relateret, men det er jo det javascript jeg har vist der skal skifte den, ligsom det skifter billederne..
Avatar billede olebole Juniormester
06. februar 2003 - 17:39 #3
<ole>

Du kunne skrive din funktion i denne retning:
function NewWindow(url,pic,navn,bredde,hoejde,scrolling) {
    id = pic.src.split("_")[1].split(".")[0];
    url = url + "?id=" +id;
    /* Herfra bruger du den kode,
        du allerede bruger */
}

... og derefter bruge billedets onclick-event i stedet for at lægge et link omkring:
  <img src="images/Test_32.jpg" onclick="NewWindow('popup.asp',this,'Test','150','75','no');"
        width="120" height="80" border="0" name="Img1">

/mvh
</bole>
Avatar billede tejs Nybegynder
07. februar 2003 - 14:18 #4
Lækkert!!! Det virker perfekt! funktionen ser således ud:

function NewWindow(url,pic,navn,w,h,scroll) {
    id = pic.src.split("_")[1].split(".")[0];
    url = url + "?id=" +id;
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+''
win = window.open(url, navn, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
Avatar billede olebole Juniormester
08. februar 2003 - 15:46 #5
Fino - men prøv at bruge screen.availWidth og screen.availHeight i stedet. De tager højde for taskbaren i bunden og andre system-vinduer ... f.eks. et docked ICQ-vindue i siden af skærmen.
'availWidth' = 'tilrådighed værende bredde'  ;o)
/mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester