Avatar billede sumsar- Nybegynder
16. oktober 2000 - 14:23 Der er 6 kommentarer og
1 løsning

omvendt - scrolling

jeg har mange gange set dette script, hvilket er _GENIALT_ .. men jeg skal bruge det i en lille modificeret udgave .. istedet for at scrolle op og ned, så skal jeg skrolle fra side til side (venstre mod højre og omvendt).. her er scriptet:Der må være sket noget ved kopieringen. Her er en kopi, der virker:

<html>
<head>
    <title>Cross-browser Dynamic HTML Scripts - ScrollText</title>
<style type=\"text/css\">
#divUp{position:absolute; left:170; top:190}
#divDown{position:absolute; left:170; top:380}
#divCont{position:absolute; width:300; height:150; overflow:hidden; top:220; left:170; clip:rect(0,300,150,0); visibility:hidden}
#divText{position:absolute; top:0; left:0}
</style>
<script type=\"text/javascript\" language=\"JavaScript\">
/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts. This may be used freely as long as this msg is intact!
I will also appriciate any links you could give me.
********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
    this.ver=navigator.appVersion
    this.dom=document.getElementById?1:0
    this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
    this.ie4=(document.all && !this.dom)?1:0;
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
    return this
}
bw=new checkBrowser()
/*****************

You set the width and height of the divs inside the style tag, you only have to
change the divCont, Remeber to set the clip the same as the width and height.
You can remove the divUp and divDown layers if you want.
This script should also work if you make the divCont position:relative.
Then you should be able to place this inside a table or something. Just remember
that Netscape crash very easily with relative positioned divs and tables.

Updated with a fix for error if moving over layer before pageload.

****************/


//If you want it to move faster you can set this lower:
var speed=50

//Sets variables to keep track of what\'s happening
var loop, timer

//Object constructor
function makeObj(obj,nest){
    nest=(!nest) ? \'\':\'document.\'+nest+\'.\'
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+\'document.\'+obj):0;
      this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\'document.\'+obj):0;
    this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
    this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
    this.up=goUp;this.down=goDown;
    this.moveIt=moveIt; this.x; this.y;
    this.obj = obj + \"Object\"
    eval(this.obj + \"=this\")
    return this
}
function moveIt(x,y){
    this.x=x;this.y=y
    this.css.left=this.x
    this.css.top=this.y
}

//Makes the object go up
function goDown(move){
    if(this.y>-this.scrollHeight+oCont.clipHeight){
        this.moveIt(0,this.y-move)
            if(loop) setTimeout(this.obj+\".down(\"+move+\")\",speed)
    }
}
//Makes the object go down
function goUp(move){
    if(this.y<0){
        this.moveIt(0,this.y-move)
        if(loop) setTimeout(this.obj+\".up(\"+move+\")\",speed)
    }
}

//Calls the scrolling functions. Also checks whether the page is loaded or not.
function scroll(speed){
    if(loaded){
        loop=true;
        if(speed>0) oScroll.down(speed)
        else oScroll.up(speed)
    }
}

//Stops the scrolling (called on mouseout)
function noScroll(){
    loop=false
    if(timer) clearTimeout(timer)
}
//Makes the object
var loaded;
function scrollInit(){
    oCont=new makeObj(\'divCont\')
    oScroll=new makeObj(\'divText\',\'divCont\')
    oScroll.moveIt(0,0)
    oCont.css.visibility=\'visible\'
    loaded=true;
}
//Call the init on page load
onload=scrollInit;
</script>
</HEAD>
<BODY bgcolor=\"White\">
<div id=\"divUp\">
    <a href=\"#\" onmouseover=\"scroll(-2)\" onmouseout=\"noScroll()\">[slow]</a>
    <a href=\"#\" onmouseover=\"scroll(-7)\" onmouseout=\"noScroll()\">[medium]</a>
    <a href=\"#\" onmouseover=\"scroll(-10)\" onmouseout=\"noScroll()\">[fast]</a>
</div>

<div id=\"divDown\">
    <a href=\"#\" onmouseover=\"scroll(2)\" onmouseout=\"noScroll()\">[slow]</a>
    <a href=\"#\" onmouseover=\"scroll(7)\" onmouseout=\"noScroll()\">[medium]</a>
    <a href=\"#\" onmouseover=\"scroll(10)\" onmouseout=\"noScroll()\">[fast]</a>
</div>

<div id=\"divCont\">
    <div id=\"divText\">
        <p>News: <br>
        www.bratta.com/dhtml - Have you ever experienced DHTML is now updated
        with more script, demos and how to\'s then ever. Visit now!
        Also added: The DHTML Scriptomania, a new and better interface
        to browser the scripts, demos and how to\'s.</p>
        <p>
        test text test text test text test text test text test text<br><br>
        test text test text test text test text test text test text<br>
        test text test text test text test text test text test text<br>
        test text test text test text test text test text test text<br>
        test text test text test text test text test text test text<br></p>
        <p>
        test text test text test text test text test text test text<br>
        test text test text test text test text test text test text<br>
        test text test text test text test text test text test text<br><br>
        test text test text test text test text test text test text<br>
        test text test text test text test text test text test text - END</p>
    </div>
</div>

YOUR REGULAR BODY CONTENT GOES IN HERE
</BODY>
</HTML>

Er der nogen der kan enten lave det om, eller henvise til at script der er magen til.  (det skal kunne scrolle i flere forskellige hastigheder)
Avatar billede sumsar- Nybegynder
17. oktober 2000 - 09:20 #2
Jeg har selv løst problemet, så deeeeeettttt... :)

roslev: jeg har allerede prøvet dit eksempel, det virker fint.. men man kan umidelbart ikke scrolle i flere hastigheder.
Avatar billede olebole Juniormester
18. oktober 2000 - 02:54 #3
<ole>
Så skal du ikke bare copy/paste med bind for øjnene, men gøre dig ulejlighed med at læse nogle af de kloge ord Steinman har skrevet til dig...hvad tror du f.eks. den gode DannyBoy mener med ordet \'speed\'? Nok ikke noget med store pupiller, lørdag aften ;o))
/mvh
</bole>
Avatar billede sumsar- Nybegynder
18. oktober 2000 - 09:46 #4
olebole: Jeg kan sq ikke bruge det som DannyBoy har lavet til noget.. man kan godt \"indstille\" hastigheden... men man kan ikke (uden at lave en del om i koden) lave flere forskellige knapper som har forskellige hastigheder...
Avatar billede loonie Nybegynder
18. oktober 2000 - 15:49 #5
hvad med at skrive hvad løsningen bestod af???
Avatar billede olebole Juniormester
18. oktober 2000 - 19:53 #6
Blot fordi, du ikke kan overskue, hvad man godt kan lave, har du såmænd ingen verdens grund til at puste dig op og bande ad mig, Bulder ;o)

Du kan vel lave lidt forskellige knapper, hvor du sætter \'speed\' til en værdi, før du lader samme knap scrolle:

<a href=\"java script://\" onMouseDown=\"speed=10; mywin.up(); return false\" onMouseUp=\"mywin.stop()\" onMouseOut=\"mywin.stop()\">up med speed 10</a>

<a href=\"java script://\" onMouseDown=\"speed=20; mywin.up(); return false\" onMouseUp=\"mywin.stop()\" onMouseOut=\"mywin.stop()\">up med speed 20</a>

Blot et eksempel på, hvad jeg mener - Søøøøøde!
/mvh
Avatar billede sumsar- Nybegynder
24. oktober 2000 - 09:49 #7
det har jeg også forsøgt, umidelbart... men det virkede ikke.. =) og jeg har vel lov til at stille et spørgsmål og stadig selv arbejde med problemet.. =)

og sorry for de hårde ord.. =)
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