Avatar billede krel Nybegynder
04. november 2007 - 22:17 Der er 8 kommentarer og
1 løsning

jeg mangler tekst-delen

Hej derude?
For et stykke tid siden fik jeg hjælp herinde til et script der fader mellem billeder. mit problem dengang var at det skulle kobles med en database - men det kom til at fungere helt fint!

Grunden til denne database er at jeg gerne vil have et stykke tekst til hver billede så når faderen kører skifter den både billede og tekst.

I scriptet blev jeg fortalt at der skulle være lagt en go bund for at kunne gøre dette men helt hvordan man fik teksten til at stå læselig kom vi ikke frem til. Derfor stiller jeg nu dette spørgsmål.

Jeg har denne kode i min <head>
<%Set rs = Server.CreateObject("ADODB.RecordSet")
Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/fpdb/kristhedj.mdb")
Conn.Open strDSN
Dim i
Dim strSlideimages
Dim strSlidetekst
Set rs=Conn.Execute("select[imgfile] from [banner_stor]")
Do While Not rs.EOF
If i>0 Then
strSlideimages=strSlideimages&","
End If
strSlideimages=strSlideimages&""""&rs("imgfile")&""""
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>

og denne ved selve billedet:
<script language="JavaScript1.1">
var whichlink = whichimage = Math.floor(Math.random()*slideimages.length);
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 = Math.floor(Math.random()*slideimages.length);
setTimeout("slideit()",slidespeed+blenddelay)
}
slideit()
</script>

og så er det altså denne linie der skulle kunne kører tekst-delen:
var slidetekst=new Array(<%=strSlidetekst%>)

men hvordan???

mvh.
Kristian


var slidetekst=new Array(<%=strSlidetekst%>)
Avatar billede w13 Novice
05. november 2007 - 14:05 #1
Prøv:
---------------------------------
<script language="JavaScript1.1">
var whichlink = whichimage = Math.floor(Math.random()*slideimages.length);
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.getElementById("textelm").slide.filters[0].apply();
}
document.images.slide.src=imageholder[whichimage].src;
document.getElementById("textelm").firstChild.nodeValue=slidetekst[whichimage];
if (ie){
  document.images.slide.filters[0].play();
  document.getElementById("textelm").slide.filters[0].play(); 
}
whichlink=whichimage;
whichimage = Math.floor(Math.random()*slideimages.length);
setTimeout("slideit()",slidespeed+blenddelay);
}
slideit()
</script>
--------------------------------------
Men så mangler vi også lige at pille ved HTML-koden. Hvor har du img-tag'et? Hvordan ser den del ud?
Avatar billede krel Nybegynder
06. november 2007 - 01:16 #2
<img img border="0" src="../grafik/chart/idalet.png" width="120px" height="140px" name="slide" style="filter:blendTrans(duration=2)">

<script language="JavaScript1.1">
var whichlink = whichimage = Math.floor(Math.random()*slideimages.length);
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 = Math.floor(Math.random()*slideimages.length);
setTimeout("slideit()",slidespeed+blenddelay)
}
slideit()
</script>
Avatar billede w13 Novice
06. november 2007 - 10:22 #3
Ok. Indsæt <div id="textelm">&nbsp;</div> der, hvor teksten skal vises.
Avatar billede krel Nybegynder
06. november 2007 - 17:12 #4
hmm tror lige du får hele koden for nu er jeg lidt forvirret ....

<%Set rs = Server.CreateObject("ADODB.RecordSet")
Set Conn = Server.CreateObject("ADODB.Connection")
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/fpdb/kristhedj.mdb")
Conn.Open strDSN
Dim i
Dim strSlideimages
Dim strSlidetekst
Set rs=Conn.Execute("select[imgfile], [imgtxt] from [banner_mini]")
Do While Not rs.EOF
If i>0 Then
strSlideimages=strSlideimages&","
strSlidetekst=strSlidetekst&","
End If
strSlideimages=strSlideimages&""""&rs("imgfile")&""""
strSlidetekst=strSlidetekst&""""&rs("imgtxt")&""""
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>
<title>KRIStheDJ</title>
</head>
<body>
<script language="JavaScript1.1">
var whichlink = whichimage = Math.floor(Math.random()*slideimages.length);
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.getElementById("textelm").slide.filters[0].apply();
}
document.images.slide.src=imageholder[whichimage].src;
document.getElementById("textelm").firstChild.nodeValue=slidetekst[whichimage];
if (ie){
  document.images.slide.filters[0].play();
  document.getElementById("textelm").slide.filters[0].play(); 
}
whichlink=whichimage;
whichimage = Math.floor(Math.random()*slideimages.length);
setTimeout("slideit()",slidespeed+blenddelay);
}
slideit()
</script>
<table style="height:100%" class="text" border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
<tr><td valign="top"><p align="justify" style="margin-left: 5px; margin-right: 5px; margin-top: 10px"><div id="textelm"></div></p></td></tr>
<tr><td valign="top"><p align="justify" style="margin-left: 5px; margin-right: 5px; margin-top: 2px"><img img border="0" src="../grafik/banner/mini/01.png" width="120px" height="120px" name="slide" style="filter:blendTrans(duration=1)"><br>
</p></td></tr>
</table>

er det sådan? for så fader den ikke mere viser kun det billede der er give i <img>tag'et
Avatar billede w13 Novice
07. november 2007 - 15:23 #5
Ok, det var et skud i tågen. Ved ikke, hvordan "slide.filters[0].play();" virker.. =(
Avatar billede krel Nybegynder
08. november 2007 - 21:27 #6
helt i orden...
måske du kan hjælpe mig her i stedet?

jeg har dette script for at give min td et baggrundsbillede:
<td style="background-image:url('grafik/01/a.png')" osv med højde og sådan....

nu ville jeg gerne bruge noget querystring der hvor der står "01" men hvis jeg sætter dette ind:
<td style="background-image:url('grafik/<%=request.querystring("style")%>/a.png')"
bliver det lavet om til:
<td style="background-image:url(grafik/&lt;%=request.querystring\(\&quot;style\&quot;)"

hvordan kan jeg lige kom uden om det???
Avatar billede w13 Novice
08. november 2007 - 23:13 #7
Det ved jeg sørme ikke. Det lader til, at noget går ind og ændrer i din kode, når du skriver ASP.. Så det må næsten være det program, du redigerer dine sider i. Du gør det helt korrekt.
Avatar billede krel Nybegynder
08. november 2007 - 23:23 #8
ok
Avatar billede krel Nybegynder
09. juni 2008 - 14:24 #9
tror sku vi lukker den her hva' ;-)
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
Kurser inden for grundlæggende programmering

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