Avatar billede stig69 Nybegynder
13. juni 2003 - 09:08 Der er 12 kommentarer og
1 løsning

Scrolling af text

Jeg har lige lånt nedestående JavaScript fra http://www.w3schools.com/, men kan ikke få det til at virke i Netscape. Kan man ikke afvikle javascript i netscape/morzilla? eller skyldes det noget andet?

Stig


<html>

<head>
<style>
span
{
font:12px arial;
background:#CCCCCC;
position:absolute;
width:100;
height:500;
top:100;
clip:rect(0 100 100 0);
}
</style>

<script type="text/javascript">
var interval
startPosition=0
topPosition=100
endPosition=100
speed=50

function scrollit()
{
if (startPosition!=200)
    {
    startPosition=startPosition+1
    topPosition=topPosition-1
    document.all("display").style.clip="rect(" + (startPosition + 1) + " 100 " + (startPosition + endPosition) + " 0)"
    document.all("display").style.top=topPosition
    interval=setTimeout("scrollit()",speed)
    }
else
    {
    startPosition=0
    topPosition=100
    endPosition=100
    interval=setTimeout("scrollit()",speed)
    }
}

function stopinterval()
{
clearTimeout(interval)
}
</script>
</head>

<body onload="scrollit()" onunload="stopinterval()">

<span id="display"><br /><br /><br /><br /><br /><br /><br />
Hello Developers, this script makes a scrolling text. <br />W3Schools.com
</span>
</body>
</html>
Avatar billede roenving Novice
13. juni 2003 - 09:14 #1
Det må skyldes noget andet ...

Netscape er faktisk dem, som opfandt javascript !-)
Avatar billede -master-d- Nybegynder
13. juni 2003 - 09:15 #2
Det skyldes at dette script kun er skrevet Internet Explorer, det du kunne gøre var at udskifte denne funktion

function scrollit()
{
if (startPosition!=200)
    {
    startPosition=startPosition+1
    topPosition=topPosition-1
    document.all("display").style.clip="rect(" + (startPosition + 1) + " 100 " + (startPosition + endPosition) + " 0)"
    document.all("display").style.top=topPosition
    interval=setTimeout("scrollit()",speed)
    }
else
    {
    startPosition=0
    topPosition=100
    endPosition=100
    interval=setTimeout("scrollit()",speed)
    }
}


med

function scrollit()
{
if (startPosition!=200)
    {
    startPosition=startPosition+1
    topPosition=topPosition-1
    document.getElementById("display").style.clip="rect(" + (startPosition + 1) + " 100 " + (startPosition + endPosition) + " 0)"
    document.getElementById("display").style.top=topPosition
    interval=setTimeout("scrollit()",speed)
    }
else
    {
    startPosition=0
    topPosition=100
    endPosition=100
    interval=setTimeout("scrollit()",speed)
    }
}
Avatar billede -master-d- Nybegynder
13. juni 2003 - 09:16 #3
Det som Netscape gør vrøvl over er brugen af document.all, som høre IE til. Hvorimod at Netscape bruger document.getElementById(') eller document.layers['']
Avatar billede stig69 Nybegynder
13. juni 2003 - 09:17 #4
roenving--> Lige min pointe...
Avatar billede roenving Novice
13. juni 2003 - 09:18 #5
-- sæ'fø'li' brokker Netscape sig over document.all -- ligesom alt andet end NN4 brokker sig over document.layers !-)

-- så hvis du vil have at rigtig mange skal være med, skal man tage højde for det ...
Avatar billede stig69 Nybegynder
13. juni 2003 - 09:19 #6
-master-d---> Det forklarer jo en hel del. Tusinde tak for det. Så kæmper jeg videre :-)

- God weekend

Stig
Avatar billede -master-d- Nybegynder
13. juni 2003 - 09:20 #7
SÅ egentlig hvis du vil have alle med skulle den nok nærmere se sådna her ud.

function scrollit()
{
if (startPosition!=200)
    {
    startPosition=startPosition+1
    topPosition=topPosition-1

If(!document.Layers){
    document.getElementById("display").style.clip="rect(" + (startPosition + 1) + " 100 " + (startPosition + endPosition) + " 0)"
    document.getElementById("display").style.top=topPosition}
If(document.Layers){   
    document.Layers['display'].style.clip="rect(" + (startPosition + 1) + " 100 " + (startPosition + endPosition) + " 0)"
    document.Layers['display'].style.top=topPosition}

    interval=setTimeout("scrollit()",speed)
    }
else
    {
    startPosition=0
    topPosition=100
    endPosition=100
    interval=setTimeout("scrollit()",speed)
    }
}
Avatar billede -master-d- Nybegynder
13. juni 2003 - 09:21 #8
Jo tak, og mange tak for pointene. :)
Avatar billede stig69 Nybegynder
13. juni 2003 - 09:22 #9
-master-d---> Når du skriver 'alle med' mener du så alle browsere?
Avatar billede roenving Novice
13. juni 2003 - 09:23 #10
Hvis du både vil have NN6+ og IE4 med, skal du bruge begge dele (tager IKKE højde for NN4 !-):

function scrollit()
{
if (startPosition!=200)
    {
    startPosition=startPosition+1
    topPosition=topPosition-1
    var StObj = (document.all)?document.all['display'].style:document.getElementById('display').style
    StObj.clip="rect(" + (startPosition + 1) + " 100 " + (startPosition + endPosition) + " 0)"
    StObj.top=topPosition
    interval=setTimeout("scrollit()",speed)
    }
else
    {
    startPosition=0
    topPosition=100
    endPosition=100
    interval=setTimeout("scrollit()",speed)
    }
}
Avatar billede stig69 Nybegynder
13. juni 2003 - 09:24 #11
Din sidste funktion giver en fejlmelding...
Avatar billede roenving Novice
13. juni 2003 - 09:25 #12
NN4 kender ikke style, så der skal du udelade det !
document.layers['display'] osv.

-- men NN¤ kender heller ikke clip, så det ...
Avatar billede roenving Novice
13. juni 2003 - 09:26 #13
og store bogstaver i javascript, hmmm
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