27. august 2004 - 15:35Der er
6 kommentarer og 1 løsning
onclick problem med scroll
Hej eksperter Jeg har det her lille javascript som scroller fra en anden frame. Men problemet er at når man klikker lidt for ivrigt scroller den modsatte retning end tænkt. Hvad kan jeg gøre?
Du kunne lave en lille aflastnig, da det at scrolle en (i)frame i forvejen er en tung øvelse:
var myFrame; var frMove = 0; var myTimer = false; function myScroll(imName, imSrc, frMove) { if (myTimer) clearInterval(myTimer); if (frMove != 0) { myFrame = parent.main; myTimer = setInterval("doScroll(" + frMove + ")", 50); } ms(imName, imSrc); } function doScroll(frMove) { myFrame.scrollBy( 0, frMove ); }
Nu laver vi kun referencen til frame'en, hvergang myScroll kaldes og der faktisk skal scrolles. Derefter genbruges denne reference, hvergang timeren kalder doScroll - og det sker _betydeligt_ oftere. Du kunne også nøjes med at sætte referencen én gang - på onload event'en. På den anden side tror jeg ikke, du vil kunne mærke forskel på, om du flytter sætningen derhen.
PS: Da vi jo altid sender 'frMove' med som argument, er der ingen grund til at deklarere den globalt. Du kan med andre ord slette linien: var frMove = 0; i toppen. Lad os endelig slanke det globale variabel-scope så meget som muligt :) /mvh
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.