Avatar billede lsolesen Nybegynder
05. marts 2002 - 07:59 Der er 5 kommentarer og
1 løsning

Problemer med rulletekst

Jeg har fundet flg. script på dynamic drive, og det virker sådan set udemærket i IE. Der er imidlertid problemer med w3.org og med Mozilla. I Mozilla bliver der slet ikke vist noget, og w3.org-validatoren har problemer med ILAYER og LAYER i sidste del af scriptet. Kan jeg få det til at validere. Så er jeg sådan set tilfreds. Det kræver formentlig brug af noget andet end LAYER?

<script language="JavaScript1.2" type="text/javascript">
<!--
/*
Pausing updown message scroller-
Last updated: 99/07/05 (Bugs fixed, ability to specify background image for scroller)
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

//configure the below five variables to change the style of the scroller
var scrollerwidth=190
var scrollerheight=120
var scrollerbgcolor=''
//set below to '' if you don't wish to use a background image
var scrollerbackground=''

var scrollhastighed=100
var scrollvis=5000

//configure the below variable to change the contents of the scroller
var messages=new Array()

messages[0]="scrolltekst 1"
messages[1]="scrolltekst 1"
messages[2]="scrolltekst 1"
messages[3]="scrolltekst 1"
messages[4]="scrolltekst 1"

///////Do not edit pass this line///////////////////////

if (messages.length>1)
i=2
else
i=0

function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.top>0&&tlayer.top<=5){
tlayer.top=0
setTimeout("move1(tlayer)",scrollvis)
setTimeout("move2(document.main.document.second)",scrollvis)
return
}
if (tlayer.top>=tlayer.document.height*-1){
tlayer.top-=5
setTimeout("move1(tlayer)",scrollhastighed)
}
else{
tlayer.top=scrollerheight
tlayer.document.write(messages[i])
tlayer.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.top>0&&tlayer2.top<=5){
tlayer2.top=0
setTimeout("move2(tlayer2)",scrollvis)
setTimeout("move1(document.main.document.first)",scrollvis)
return
}
if (tlayer2.top>=tlayer2.document.height*-1){
tlayer2.top-=5
setTimeout("move2(tlayer2)",scrollhastighed)
}
else{
tlayer2.top=scrollerheight
tlayer2.document.write(messages[i])
tlayer2.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move3(whichdiv){
tdiv=eval(whichdiv)
if (tdiv.style.pixelTop>0&&tdiv.style.pixelTop<=5){
tdiv.style.pixelTop=0
setTimeout("move3(tdiv)",scrollvis)
setTimeout("move4(second2)",scrollvis)
return
}
if (tdiv.style.pixelTop>=tdiv.offsetHeight*-1){
tdiv.style.pixelTop-=5
setTimeout("move3(tdiv)",scrollhastighed)
}
else{
tdiv.style.pixelTop=scrollerheight
tdiv.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function move4(whichdiv){
tdiv2=eval(whichdiv)
if (tdiv2.style.pixelTop>0&&tdiv2.style.pixelTop<=5){
tdiv2.style.pixelTop=0
setTimeout("move4(tdiv2)",scrollvis)
setTimeout("move3(first2)",scrollvis)
return
}
if (tdiv2.style.pixelTop>=tdiv2.offsetHeight*-1){
tdiv2.style.pixelTop-=5
setTimeout("move4(second2)",scrollhastighed)
}
else{
tdiv2.style.pixelTop=scrollerheight
tdiv2.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function startscroll(){
if (document.all){
move3(first2)
second2.style.top=scrollerheight
second2.style.visibility='visible'
}
else if (document.layers){
document.main.visibility='show'
move1(document.main.document.first)
document.main.document.second.top=scrollerheight+5
document.main.document.second.visibility='show'
}
}

window.onload=startscroll
//-->
</script>

<ilayer id="main" width="&{scrollerwidth}; height=&{scrollerheight}; bgColor=&{scrollerbgcolor}; background=&{scrollerbackground}; visibility=hide">
<layer id="first" left=0 top=1 width="&{scrollerwidth};">
<script language="JavaScript1.2" type="text/javascript">
if (document.layers)
document.write(messages[0])
</script>
</layer>
<layer id="second" left=0 top=0 width="&{scrollerwidth}; visibility=hide">
<script language="JavaScript1.2" type="text/javascript">
if (document.layers)
document.write(messages[1])
</script>
</layer>
</ilayer>

<script language="JavaScript1.2" type="text/javascript">
if (document.all){
document.writeln('<span id="main2" style="position:relative;width:'+scrollerwidth+';height:'+scrollerheight+';overflow:hiden;background-color:'+scrollerbgcolor+' ;background-image:url('+scrollerbackground+')"\>')
document.writeln('<div style="position:absolute;width:'+scrollerwidth+';height:'+scrollerheight+';clip:rect(0 '+scrollerwidth+' '+scrollerheight+' 0);left:0;top:0"\>')
document.writeln('<div id="first2" style="position:absolute;width:'+scrollerwidth+';left:0;top:1;"\>')
document.write(messages[0])
document.writeln('<\/div\>')
document.writeln('<div id="second2" style="position:absolute;width:'+scrollerwidth+';left:0;top:0;visibility:hidden"\>')
document.write(messages[1])
document.writeln('<\/div\>')
document.writeln('<\/div\>')
document.writeln('<\/span\>')
}
</script>
Avatar billede lsolesen Nybegynder
05. marts 2002 - 08:00 #1
Se scriptet i aktion på www.legestue.net/index.asp
Avatar billede pelkjaer Nybegynder
05. marts 2002 - 08:46 #2
Jamen hvad så med denne her:
http://www.peterelkjaer.dk/x/scroller.html

Den bliver næppe mere crossbrowser komt.
Virker i IE 4+ NS 4+ og i Opera 5+
Avatar billede lsolesen Nybegynder
05. marts 2002 - 08:49 #3
pelkjaer > Ellers tak. Den skal helst holde pause, som scrolleren fra dynamicdrive.com.
Avatar billede pelkjaer Nybegynder
05. marts 2002 - 09:20 #4
Hvad så med denne - jeg ved da at den også virker i NS 4 og 6.
Opera kan jeg ikke huske.
http://www.dansteinman.com/dynapi/docs/examples/newsticker1.html
Avatar billede lsolesen Nybegynder
05. marts 2002 - 20:35 #5
pelkjaer > den sidste er udemærket, men den bruger layers, som er placeret absolut. Jeg skal bruge den, hvor den sidder i forlængelse af en tabel - se www.legestue.net, hvordan jeg har brugt den scroller jeg har benyttet.
Avatar billede lsolesen Nybegynder
27. juni 2003 - 10:01 #6
Lukker
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