28. november 2001 - 09:32Der er
12 kommentarer og 1 løsning
Scroll siden til højre m. onLoad?
Jeg er ved at lave en side, men jeg mangler et lille script...
Jeg vil gerne have at siden scroller helt til højre når man kommer ind på den, men det skal ikke gå for stærkt - man skulle gerne kunne se hvad der er på siden mens man scroller. Det ville være rart hvis man kunne regulere hastigheden...
Skal helst virke i de forskellige browsere...
Er dette noget der kan komme til at virke? Og hvordan vil det se ud som et samlet script?
var scrollPos = 0; var scrollEnd = 500; function startScrolling(){ if(scrollEnd>scrollPos){ scrollPos = scrollPos + 10 window.scrollTo(scrollPos,0) setTimeout(\'startScrolling()\',50) } }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Ja.. TAK! Jeg fik det faktisk selv til at virke ret godt ... MEN, der er stadig et problem..
Scriptet scroller fint til højre, men det bliver det ved med... Det jeg har brug for e, at når siden er scrollet helt til højre, så stopper scriptet med at virke. Ellers har jeg ikke mulighed for at scrolle til venstre igen - da det hele tiden vil srolle mod højre...
Der gives gerne ekstra point, da det er liv eller død om dette kommer til at virke :)
Ups. jeg har stavet variablen justLoadet forskelliget afslut med d alle steder: if( justLoaded && scrollEnd>scrollPos ) { og <body ... onload=\"startScrolling()\" onscroll=\"justLoaded=false\">
function startScrolling() { // 2 nye linier herunder var minPosition = window.pageXOffset || document.body.scrollLeft; if ( Math.abs( scrollPos-minPosition ) > 4 ) return;
if( justLoadet && scrollEnd>scrollPos ) { scrollPos = scrollPos + 10; // 10 pixel tilhøjre for her window.scrollTo(scrollPos,0); // scroll derhen setTimeout(\'startScrolling()\',50); // kald igen om 50 millisekunder } //endif }; //end startscrolling()
Det er teori, men den burde virke på alle NS og IE (og vist opgså Opera) browsere.
Der er et problem. Den scroller et lille hak og så går den i stå - der fremkommer ingen fejl på siden !?!
Scriptet ser sådan ud lige nu:
<script type=\'text/javascript\'>
function startScrolling() { var scrollPos = 0; // hvor siden starter med at stå (altid 0) var scrollEnd = 500; // hvorlangt der nu skal scrolles ialt var justLoaded = true; var minPosition = window.pageXOffset || document.body.scrollLeft;
if ( Math.abs( scrollPos-minPosition ) > 4 ) return;
if( justLoaded && scrollEnd>scrollPos ) { scrollPos = scrollPos + 10; // 10 pixel tilhøjre for her window.scrollTo(scrollPos,0); // scroll derhen setTimeout(\'startScrolling()\',50); // kald igen om 50 millisekunder } //endif }; //end startscrolling()
de 3 variable var scrollPos = 0; // hvor siden starter med at stå (altid 0) var scrollEnd = 500; // hvorlangt der nu skal scrolles ialt var justLoaded = true;
må absolut ikke stå indeni funktionen. de skal stå oppe foran. den fjerde skal så indeni som den gør.
Jep, det ser ud til at scrollTo trigger IE\'s onscroll handler. Det var ikke meningen :) Men siden nedenfor ser ud til at virke i NS og IE: http://www.jakoba.dk/eksperten/exp139515.html
Tak for svaret. Men vi, undertegnede og Tejs, der sammen arbejde på siden - kender problemet med ovenstående script: Der virker ikke på MAC og i browseren Opera.
Det er som sagt yderst vigtigt, at det virker de fleste steder .. især på MAC
Du er sgu\' genial! Nu virker det perfekt i alle browsere IE6 NS4.x NS6 Opera.. mangler kun at teste det på en MAC.
Tusind tak for hjælpen .. du skal få denne endelige URL, når siden er færdig...
Der er 10 point i bonus
Synes godt om
Ny brugerNybegynder
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.