05. april 2007 - 13:32
Der er
6 kommentarer og 1 løsning
ASP Slideshow hjælp
Jeg har nedenstående script, som er et rigtig godt slideshow. Dog har jeg nogle rettelser jeg gerne vil have tilføjet, men jeg er fuldstændig lost hvorledes jeg kan komme videre. Det jeg gerne vil have ændret er: 1. Slideshow skal starte af sig selv. Dog må start/stop knap meget gerne stadig forblive. 2. Billedet som præsenteres, skal der tilføjes et link som henviser til kolonnen "id" i databasen. Dvs. at den i adreselinien skal skrive: <a href='beskrivelse.asp?id=" & rs("id") & "'> 3. I stedet for at den skriver "billede x af x", skal der i stedet stå info fra en kolonne i databasen der hedder "beskrivelser". HÅber der er nogle som kan hjælpe mig. Scriptet: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Slideshow</title> </head> <body onload=""> <form id=picfrm name=picfrm> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/vti_log/lager.mdb") Conn.Open DSN ' tabelnavn ' table = "vare" ' kolonne i tabel indeholdende billedets filnavn file1 = "file1" ' stien til billederne imagepath = "billeder/" 'sortering orderby = "indforelsesdato" if orderby <> "" then orderby = "order by "& orderby end if set rs = conn.execute ("select count(id) as totalpics from vare where file1 <> ''") %> <script language=javascript> <% ' opret javascript variabler response.write "// variabler"& vbcrlf response.write "var imgpath =""" & imagepath & """;" & vbcrlf response.write "var pic;"& vbcrlf response.write "var totalpics =" & rs("totalpics") &";"& vbcrlf response.write "var currenttime = 0;"& vbcrlf response.write "var onoff = -1;"& vbcrlf response.write "var picnum = 0;"& vbcrlf response.write "var PicArray = new Array("&rs("totalpics") + 1&");" & vbcrlf& vbcrlf& vbcrlf ' hent billeder set rs = conn.execute ("select " &file1& " from vare where file1 <> ''" & orderby) i = 1 ' opret javscript array do while not rs.eof response.write "PicArray["&i&"]="& "'" & rs(file1) &"'"& vbcrlf i = i + 1 rs.movenext loop %> // funktion til billedskift function newpic(way){ // nyt id i array pid = picnum + way; if (pid > totalpics ){ pid = 1; } if (pid < 1){ pid = totalpics; } // husk aktuel værdi picnum = pid; //status document.all.picinfo.innerHTML = "billede " + pid + " af " + totalpics; // find billedet i array pic = imgpath + PicArray[pid]; // sæt nyt billede document.picfrm.pic.src= pic; } // timer funktion function WinTimer() { if (onoff > 0 ){ currenttime = currenttime + 1; time = 1//document.picfrm.timesel.value; if (currenttime >= time && time > 0 ) { newpic(1); currenttime = 0; } } } window.setInterval("WinTimer()", 1000); function setstate(){ onoff = onoff * -1; if (onoff > 0) { document.picfrm.power.value = "Stop Slideshow"; } else{ document.picfrm.power.value = "Start Slideshow"; } } </script> <table border=1> <tr> <td align=left> <input type=button name=power id=power onclick=setstate(); value="Start Slideshow"> </td> </tr> <tr> <td onclick="newpic(-1);" style=cursor:hand align=center> Forrige </td> <td onclick="newpic(1);" style=cursor:hand align=center> Næste </td> </tr> <tr> <td colspan=2 align=center> <div id="picinfo"> Info </div> </td> </tr> <tr> <td colspan=2><tdcolspan=2> <img src="" id=pic name=pic width="100"> </td> </tr> </table> <script language=javascript> newpic(1); </script> </form> </body> </html>
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
05. april 2007 - 13:39
#1
for at starte det automatisk kan du skrive: <body onload="setstate()">
05. april 2007 - 13:51
#2
nu er det nok en dårlig løsning, men du kunne nok gøre noget lign.: do while not rs.eof response.write "PicArray["&i&"]="& "'" & rs(file1) &"'"& vbcrlf response.write "IDArray["&i&"]="& "'" & rs("ID") &"'"& vbcrlf i = i + 1 rs.movenext loop -------------------- // find billedet i array pic = imgpath + PicArray[pid]; link = IDArray[pid]; // sæt nyt billede document.picfrm.pic.src= pic; document.picfrm.divPic.innerHTML= "<a href='beskrivelse.asp?id=" & link & "'>" & _ "<img src='" & pic &" ' id=pic name=pic width='100'></a>" --------------------------- <td colspan=2><tdcolspan=2> <div id=divPic></div> </td> ???? tjaa det er vel et forsøg værd :)
05. april 2007 - 15:19
#3
Automatisk start virker fint, men desværre ikke id...
05. april 2007 - 16:01
#4
Jeg har fundet ud af at problemet ligge et sted omkring disse linier: // sæt nyt billede document.picfrm.pic.src= pic; document.picfrm.divPic.innerHTML= "<a href='beskrivelse.asp?id=" & link & "'>" & _ "<img src='" & pic &" ' id=pic name=pic width='100'></a>"
05. april 2007 - 16:09
#5
Indtil videre virker nedenstående, dog uden link... Ved ikke rigtig hvordan det kan implanteres. Har prøvet nogle forskellige variationer uden held: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Slideshow</title> </head> <body onload="setstate()"> <form id=picfrm name=picfrm> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/vti_log/lager.mdb") Conn.Open DSN ' tabelnavn ' table = "vare" ' kolonne i tabel indeholdende billedets filnavn file1 = "file1" ' stien til billederne imagepath = "billeder/" 'sortering orderby = "indforelsesdato" if orderby <> "" then orderby = "order by "& orderby end if set rs = conn.execute ("select count(id) as totalpics from vare where file1 <> ''") %> <script language=javascript> <% ' opret javascript variabler response.write "// variabler"& vbcrlf response.write "var imgpath =""" & imagepath & """;" & vbcrlf response.write "var pic;"& vbcrlf response.write "var totalpics =" & rs("totalpics") &";"& vbcrlf response.write "var currenttime = 0;"& vbcrlf response.write "var onoff = -1;"& vbcrlf response.write "var picnum = 0;"& vbcrlf response.write "var PicArray = new Array("&rs("totalpics") + 1&");" & vbcrlf& vbcrlf& vbcrlf response.write "var IDArray = new Array("&rs("totalpics") + 1&");" & vbcrlf& vbcrlf& vbcrlf ' hent billeder set rs = conn.execute ("select * from vare where file1 <> ''" & orderby) i = 1 ' opret javscript array do while not rs.eof response.write "PicArray["&i&"]="& "'" & rs(file1) &"'"& vbcrlf response.write "IDArray["&i&"]="& "'" & rs("id") &"'"& vbcrlf i = i + 1 rs.movenext loop %> // funktion til billedskift function newpic(way){ // nyt id i array pid = picnum + way; if (pid > totalpics ){ pid = 1; } if (pid < 1){ pid = totalpics; } // husk aktuel værdi picnum = pid; //status document.all.picinfo.innerHTML = "billede " + pid + " af " + totalpics; // find billedet i array pic = imgpath + PicArray[pid]; link = IDArray[pid]; // sæt nyt billede document.picfrm.pic.src= pic; } // timer funktion function WinTimer() { if (onoff > 0 ){ currenttime = currenttime + 1; time = 1//document.picfrm.timesel.value; if (currenttime >= time && time > 0 ) { newpic(1); currenttime = 0; } } } window.setInterval("WinTimer()", 1000); function setstate(){ onoff = onoff * -1; if (onoff > 0) { document.picfrm.power.value = "Stop Slideshow"; } else{ document.picfrm.power.value = "Start Slideshow"; } } </script> <table border=1> <tr> <td align=left> <input type=button name=power id=power onclick=setstate(); value="Start Slideshow"> </td> </tr> <tr> <td onclick="newpic(-1);" style=cursor:hand align=center> Forrige </td> <td onclick="newpic(1);" style=cursor:hand align=center> Næste </td> </tr> <tr> <td colspan=2 align=center> <div id="picinfo"> Info </div> <td colspan=2><tdcolspan=2> <img src='' id=pic name=pic width='100' border='0'> </td> </td> </tr> <tr> <td colspan=2><tdcolspan=2> <div id=divPic></div> </td> </tr> </table> <script language=javascript> newpic(1); </script> </form> </body> </html>
05. april 2007 - 16:26
#6
Ahh, nu fik jeg den på denne vis: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Slideshow</title> </head> <body onload="setstate()"> <form id=picfrm name=picfrm> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/vti_log/lager.mdb") Conn.Open DSN ' tabelnavn ' table = "vare" ' kolonne i tabel indeholdende billedets filnavn file1 = "file1" ' stien til billederne imagepath = "billeder/" 'sortering orderby = "indforelsesdato" if orderby <> "" then orderby = "order by "& orderby end if set rs = conn.execute ("select count(id) as totalpics from vare where file1 <> ''") %> <script language=javascript> <% ' opret javascript variabler response.write "// variabler"& vbcrlf response.write "var imgpath =""" & imagepath & """;" & vbcrlf response.write "var pic;"& vbcrlf response.write "var totalpics =" & rs("totalpics") &";"& vbcrlf response.write "var currenttime = 0;"& vbcrlf response.write "var onoff = -1;"& vbcrlf response.write "var picnum = 0;"& vbcrlf response.write "var PicArray = new Array("&rs("totalpics") + 1&");" & vbcrlf& vbcrlf& vbcrlf response.write "var IDArray = new Array("&rs("totalpics") + 1&");" & vbcrlf& vbcrlf& vbcrlf ' hent billeder set rs = conn.execute ("select * from vare where file1 <> ''" & orderby) i = 1 ' opret javscript array do while not rs.eof response.write "PicArray["&i&"]="& "'" & rs(file1) &"'"& vbcrlf response.write "IDArray["&i&"]="& "'" & rs("id") &"'"& vbcrlf i = i + 1 rs.movenext loop %> // funktion til billedskift function newpic(way){ // nyt id i array pid = picnum + way; if (pid > totalpics ){ pid = 1; } if (pid < 1){ pid = totalpics; } // husk aktuel værdi picnum = pid; //status document.all.picinfo.innerHTML = "billede " + pid + " af " + totalpics; // find billedet i array pic = imgpath + PicArray[pid]; link = IDArray[pid]; linket = "beskrivelse.asp?id=" + IDArray[pid]; // sæt nyt billede document.picfrm.pic.src= pic; } // timer funktion function WinTimer() { if (onoff > 0 ){ currenttime = currenttime + 1; time = 1//document.picfrm.timesel.value; if (currenttime >= time && time > 0 ) { newpic(1); currenttime = 0; } } } window.setInterval("WinTimer()", 1000); function setstate(){ onoff = onoff * -1; if (onoff > 0) { document.picfrm.power.value = "Stop Slideshow"; } else{ document.picfrm.power.value = "Start Slideshow"; } } </script> <table border=1> <tr> <td align=left> <input type=button name=power id=power onclick=setstate(); value="Start Slideshow"> </td> </tr> <tr> <td onclick="newpic(-1);" style=cursor:hand align=center> Forrige </td> <td onclick="newpic(1);" style=cursor:hand align=center> Næste </td> </tr> <tr> <td colspan=2 align=center> <div id="picinfo"> Info </div> <td colspan=2><tdcolspan=2> <a href='' id=linket name=linket><img src='' id=pic name=pic width='100' border='0'></a> </td> </td> </tr> <tr> <td colspan=2><tdcolspan=2> <div id=divPic></div> </td> </tr> </table> <script language=javascript> newpic(1); </script> </form> </body> </html> Et kanon script, som andre helt sikkert vil kunne drage nytte af. En stor tak til hooh. Smider du ikke lige et svar, da jeg ikke havde kunne klare den uden din hjælp.
05. april 2007 - 18:53
#7
altid glad for at lede en på den rette vej :)
Kurser inden for grundlæggende programmering