Avatar billede hansi Nybegynder
08. april 1999 - 00:00 Der er 7 kommentarer og
1 løsning

Layer

Hvordan laver man et layer, som kan scrolles
Avatar billede jumper Nybegynder
08. april 1999 - 09:55 #1
Ved at lave nogle knapper ved siden af dit layer, f.eks. i sine egne layers.
Når du trykker på de knapper, eller billeder, kalder du en funktion i layeret der scroller op eller ned.

Jeg gider ikke lige selv skrive noget kode her, da det godt kan fylde lidt, så kig istedet for inde på

http://www.dansteinman.com/dynduo/

Der ligger en kæmpe tutorial til Dynamisk HTML, og bl.a. en MEGET nem måde at lave lige det du efterspørger. Han har bygget nogle standard funktioner op, der kan bruges til at lave stort set alt :)

Hvis du vil hente hele den tutorial fra en dansk server, eller finde andre tutorials omkring Javascript og lignende, så kig ind på http://www.larholm.dk/thor/javascript

Der har jeg lavet en lille liste over tutorials, samt lagt dem op så de kan downloades i deres fulde længde :)

/Thor
Avatar billede dcasso Nybegynder
08. april 1999 - 10:58 #2
Her Hansi
Taget fra min hjemmeside på hjem.get2net.dk/EJMJ

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<script>
/********************************************************************************
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!
********************************************************************************
Browsercheck:*/
ie=document.all?1:0
n=document.layers?1:0

//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.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style')
    this.scrollHeight=n?this.css.document.height:eval(obj+'.offsetHeight')
    this.up=goUp
    this.down=goDown
    this.obj = obj + "Object"
    eval(this.obj + "=this")
    return this
}
//Makes the object go up
function goDown(move){
    if(parseInt(this.css.top)>-this.scrollHeight+contHeight){
        this.css.top=parseInt(this.css.top)-move
        if(loop) timer=setTimeout(this.obj+".down("+move+")",speed)
    }
}
//Makes the object go down
function goUp(move){
    if(parseInt(this.css.top)<0){
        this.css.top=parseInt(this.css.top)+move
        if(loop) timer=setTimeout(this.obj+".up("+move+")",speed)
    }
}
//Stops the scrolling (called on mouseout)
function noScroll(){
    loop=false
    clearTimeout(timer)
}
//Makes the object
function scrollInit(){
    contHeight=ie?divCont.style.pixelHeight:document.divCont.clip.bottom;
    oScroll=makeObj('divText','divCont')
}
</SCRIPT>

<BODY onLoad="scrollInit()" link="ffffff" vlink="ffffff" alink="ffffff">

<div id="divCont" style="position:absolute; width:720; height:410; top:137; left:55; z-index: 10; background: ffffff; clip:rect(0,720,410,0)">
    <div id="divText" style="position:relative; top:3; left:3; width:716">
Fyld tekst ind her
    </div>
</div>

<div id="divUp" style="position:absolute; left:40; top:120; width=750; background=000000; height=10">
<TABLE BORDER="0" CELLSPACING=3 CELLPADDING=0 width=100%><TR>
<TD width=33% align=left> <a href="#" onmouseover="loop=true; oScroll.up(2)" onmouseout="noScroll()" class=mover>slow</a></TD>
<TD width=33% align=center> <a href="#" onmouseover="loop=true; oScroll.up(7)" onmouseout="noScroll()" class=mover>medium</a></TD>
<TD width=33% align=right> <a href="#" onmouseover="loop=true; oScroll.up(15)" onmouseout="noScroll()" class=mover>fast</a></TD>
</TR>
<TR>
<TD width=15 bgcolor="000000">
<TD width=620 height=410>
<TD width=15 bgcolor="000000">
</TR>
<TR>
<TD width=33% align=left> <a href="#" onmouseover="loop=true; oScroll.down(2)" onmouseout="noScroll()" class=mover>slow</a></TD>
<TD width=33% align=center> <a href="#" onmouseover="loop=true; oScroll.down(7)" onmouseout="noScroll()" class=mover>medium</a></TD>
<TD width=33% align=right> <a href="#" onmouseover="loop=true; oScroll.down(15)" onmouseout="noScroll()" class=mover>fast</a></TD>
</TR>
</TABLE>
</div>

Avatar billede hansi Nybegynder
08. april 1999 - 11:11 #3
God ide
Avatar billede jumper Nybegynder
08. april 1999 - 11:23 #4
Til at starte med troede jeg du ville bruge dit layer som en normal frame, så der kunne scrolles inde i layeret.
Nu kan jeg se, at det var layeret der skulle flyttes :)

En fed side der også demonstrerer dette er http://www.htmlguru.com

Desuden, hvis du har Netscape, kan du jo kigge ind på http://www.larholm.dk/thor, hvor jeg har lagt et par få eksempler på Dynamisk HTML. Jeg har ikke rettet det til endnu, så det også virker i IE, men Netscape er alligevel hurtigere til layers :)

Der ligger en animation med nogle stjerner, der flyver rundt på skærmen, samt verdens første sinus scroller lavet i Javascript!!
Alt på http://www.larholm.dk/thor er lavet af undertegnede :)

/Thor
Avatar billede dcasso Nybegynder
08. april 1999 - 11:27 #5
Jumper
Er du meget interesseret i DHTML og HTML ( og god til det ) ?
Avatar billede jumper Nybegynder
08. april 1999 - 11:42 #6
Jeg er meget interesseret i begge dele, især det første :)

Jeg elsker at eksperimentere med Javascript, og er for længst kommet over stadiet med "Øj, jeg kan lave onMouseover på billederne".

P.T. arbejder jeg også som freelancer med at lave Javascript.

Hvad tænkte du da på?

/Thor
Avatar billede enzym Nybegynder
08. april 1999 - 11:43 #7
Laver dit layer længere end din side
Avatar billede dcasso Nybegynder
12. april 1999 - 09:52 #8
Ikke noget specielt, bare interesseret i at tale sammen med andre som også kan skrive disse typer af sprog, og også fordi jeg gerne vil have en til at teste min hjemmeside, som dog kun er igang med at blive lavet.
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