24. juli 2007 - 13:08Der er
30 kommentarer og 2 løsninger
Billedfader fra DB
Hej derude. Jeg har dette script jeg godt kunne bruge lidt hjælp til at omskrive lidt: <script language="JavaScript1.1"> var slidespeed=3000 var slideimages=new Array("grafik/banner/roskilde.png","grafik/banner/novo.png","image3.gif") var slidetekst=new Array("Orange scene; roskildefestival 'o6","Parken; novonordisk's sommerfest","ingen tekst") var imageholder=new Array() var ie=document.all for (i=0;i<slideimages.length;i++){ imageholder[i]=new Image() imageholder[i].src=slideimages[i] } </script> </head> <body> <img src="image1.gif" name="slide" border="0" style="filter:blendTrans(duration=3)" width="595px" height="100px"> <script language="JavaScript1.1"> var whichlink=0 var whichimage=0 var blenddelay=(ie)? document.images.slide.filters[0].duration*1000 : 0 function slideit(){ if (!document.images) return if (ie) document.images.slide.filters[0].apply() document.images.slide.src=imageholder[whichimage].src if (ie) document.images.slide.filters[0].play() whichlink=whichimage whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0 setTimeout("slideit()",slidespeed+blenddelay) } slideit() </script>
Jeg ville gerne lave det sådan at billedstien blev hentet fra et felt i db'en og det samme med teksten.. linien der indeholder: var slidetekst=new Array("Orange scene; roskildefestival 'o6","Parken; novonordisk's sommerfest","ingen tekst") har jeg selv tilføjet, men ikke i selvefunktionen så den er ikke med når siden vises - det skulle den gerne ende med :)
desuden har jeg set noget fra et andet script hvor man havde listet billederne + tekst op noget ala sådan her: [0] ["image1.gif","tekst til billede"] [1] ["image2.gif","tekst til billede"] [2] ["image3.gif","tekst til billede"] osv..
måske det var smartere når jeg nu skal have fat i db'en...??
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Ajax er dog overflødigt, medmindre der hele tiden vil være nye billeder, der er blevet uploadet, som med fordel kan hentes ind vha. Ajax - men skal man lytte til gode gamle ekspertenbruger Olebole (og det bør man jo nok), så er Ajax ikke så lige til og sløver både hjemmesiden og serveren.
Så jeg ville nok forsøge noget à la: ------------------------------------------------ <%Set rs = Server.CreateObject("ADODB.RecordSet") Set Conn = Server.CreateObject("ADODB.Connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/database.mdb") Conn.Open strDSN
Dim i Dim strSlideimages Dim strSlidetekst
Set rs=Conn.Execute("SELECT [url], [text] FROM [slideimages]") Do While Not rs.EOF If i>0 Then strSlideimages=strSlideimages&"," strSlidetekst=strSlidetekst&"," End If strSlideimages=strSlideimages&""""&rs("url")&"""" strSlidetekst=strSlidetekst&""""&rs("text")&"""" i=i+1 rs.MoveNext Loop rs.Close%>
<script language="JavaScript1.1"> var slidespeed=3000 var slideimages=new Array(<%=strSlideimages%>) var slidetekst=new Array(<%=strSlidetekst%>) var imageholder=new Array() var ie=document.all for (i=0;i<slideimages.length;i++){ imageholder[i]=new Image() imageholder[i].src=slideimages[i] } </script> </head> <body> <img src="image1.gif" name="slide" border="0" style="filter:blendTrans(duration=3)" width="595px" height="100px"> <script language="JavaScript1.1"> var whichlink=0 var whichimage=0 var blenddelay=(ie)? document.images.slide.filters[0].duration*1000 : 0 function slideit(){ if (!document.images) return if (ie) document.images.slide.filters[0].apply() document.images.slide.src=imageholder[whichimage].src if (ie) document.images.slide.filters[0].play() whichlink=whichimage whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0 setTimeout("slideit()",slidespeed+blenddelay) } slideit() </script>
<%Conn.Close set rs = Nothing set Close = nothing set Conn = nothing%> ------------------------------------------------ Ovenstående er dog lavet til en Access DB, da det er det, jeg oftest selv arbejder med. Bruger du Access? I min kode hedder databasen "database.mdb" og ligger i mappen "db" i roden af sitet. Tabellen databasen hedder "slideimages" og har felterne "url" og "text". Prøv at se, om du kan få det til at virke.
Ja, det mangler vist i selve body-koden. Men jeg må indrøme, at jeg ikke lige er sikker på, hvad der skulle tilføjes, for at det skulle være med også. Jeg har bare genereret array'et "slidetekst", som det så kan hentes fra.
okay.. i det andet spm skrev du at man godt kunne lave en fuktion så det ikke var den samme rækkefølge eller samme startbillede hver gang fukntionen reloades.... noget du vil løfte sløret for?
Nogen der har et bud på hvordan jeg så får hevet teksten ud samme med billedet evt. sådan at jeg kan have billedet i en celle i en tabel og teksten i en anden celle i samme tabel....?
->> Ole? nu fader den fint igen men ved reload (F5) hentes det samme billede hver gang (har prøvet at trykke rigtig mange gange..)
Du skulle vel ikke også side med et hint til hvordan jeg kan få teksten til det bestemte billede til at fade med i en anden tabel end den der vises billedet i vel Ole..?
noget ala det her: <table> <tr> <td>(billedet vises her)</td> <td>(teksten vises her)</td> </tr> </table>
Såvidt jeg husker, har roenving engang lavet en løsning med flere instanser af et slideshow på samme side. Hvis han kommer forbi denne tråd, må han meget gerne linke. Ellers prøver jeg lige, om jeg kan finde eksemplet =)
når mon ikk der skal gives nogle point snart.... ;) smider i begge et svar syns i har gjort jeres begge to.
lige prikken over i'et med hensyn til random: Ved godt at jeg ville have random, men derved kan et billede jo resikere at blive vist i 10 sek. hvis nu den vælger bil1, bil8, bil8, bil8, bil3, bil5, bil5 hvis du forstår?? kan man skrive en variabel så det bliver radom, men så samme billede ikke gentages??????
må sige at det os var min tanke.. måske et stykke tekst jeg selv kunne bygge videre på??
olebole? svar? så i kan dele point
nu er det sådan at jeg har lavet lidt om så baggrundsbillede ligger som tabelbaggrund.. Men for at overholde w3 var jeg nød til at omskrive koden til følgende:
Jo. Baggrundsbilledet hører jo til tabellen og er ikke et element for sig. Det kan derfor ikke have specielle egenskaber. Du kan faktisk kun styre dets placering.
syns ikk lige det virker.. måske fordi man slet ikk kan det jeg vil...
Hele dette spm har været til når jeg har haft et billede i en celle: eks. <td><img src0"../../navn.png"></td>
Her virker det hele også fint og fader derudá :)
Men hvis jeg nu vil have billedet til at være baggrundsbillede i en tabel: <table style="background-image:url('../grafik/t02.png')" border="0" width="710px" id="TOP" cellspacing="0" cellpadding="0">
skal der så en helt anden funktion til i stedet for eller skal jeg bare glemme det helt??
/Kristian ps kan jeg give dig halv point og så give olebole point senere hvis han engang svare..?
lader ikke til at der rigtig sker noget så Ole, hvis du ska ha point må du gi et hint.. lukker i hvert fald her.
Synes godt om
Ny brugerNybegynder
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.