anoniem Geplaatst: 4 juni 2002 Delen Geplaatst: 4 juni 2002 Hallo, We zijn hier bezig met het maken van een horizontale scroll-functie voor een object. Deze functie wordt door een onMouseOver-event aangeroepen. Een onMouseOut-event zorgt ervoor dat de scrollfunctie stop wordt gezet. Hier gaat het echter fout. Op een of andere manier weigert het script het onMouseOut-event uit te voeren. We weten al waar het aan ligt (het while-statement schijnt alles te overrulen), maar hebben nog geen oplossing gevonden. Kan iemand hiermee helpen? De pagina bestaat uit drie frames (horizontaal); vanuit het onderste frame wordt het middelste frame bestuurd. Het onderste frame bevat een button met de verwijzing naar de functie welke staat in de middelste frame: [code:1:9e7f1c03ff] <INPUT TYPE="button" NAME="i_x" VALUE="Naar rechts" onMouseOut="top.frame_x.scroller(0,0,4351,5,1,'left')" onMouseOver="top.frame_x.scroller(1,0,4351,5,1,'left')"> [/code:1:9e7f1c03ff] Het middelste frame met het scrollscript: [code:1:9e7f1c03ff] <SCRIPT LANGUAGE="JavaScript"> /* Copyright 2002 GoMotion Multimedia <www.gomotion.nl>> */ self.focus(); // // ====== Function: scroll scrolls window or frame to the top or lest // Parm: p_start x/y coordinate of start position // p_stop x/y coordinate of stop position // p_pixel define pixels for a scroll // p_interval define interval for a scroll // p_dest destination (top/left) // Return value: none // var gl_scroller_timer_id; var gl_scroller_start; var gl_scroller_stop; var gl_scroller_pixel; var gl_scroller_interval; var gl_scroller_dest; var gl_scroller_current_pos; var gl_scroller_val; function scroller(p_val, p_start, p_stop, p_pixel, p_interval, p_dest){ gl_scroller_stop = p_stop; gl_scroller_pixel = p_pixel; gl_scroller_interval = p_interval; gl_scroller_dest = p_dest; gl_scroller_current_pos = self.pageXOffset; gl_scroller_val = p_val; if ( gl_scroller_current_pos == p_start) { gl_scroller_start = p_start; } else { gl_scroller_start = gl_scroller_current_pos; } scroll_exe(); } // ====== Function: scroll_exe execute scrolling, called from scroller function scroll_exe(){ if (gl_scroller_val == 1 && gl_scroller_dest == "left") { while (gl_scroller_val == 1) { gl_scroller_start = gl_scroller_start + gl_scroller_pixel; // determine new start position self.scroll(gl_scroller_start, 0); scroll_exe(); } } else { stop_scroll(); } } function stop_scroll(){ clearTimeout(gl_scroller_timer_id); } </SCRIPT> [/code:1:9e7f1c03ff] Het doel van het hele gebeuren is dus dat de gebruiker via een onMouseOver van links naar rechts kan scrollen. Daarbij moet het mogelijk zijn dat de gebruiker na een onMouseOut op de huidige scrollpositie door kan gaan met scrollen. Opgelet: De functie om naar links te gaan zit er nog niet in en het werkt nu nog (half) in Netscape. Alvast bedankt, Djurre Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen