Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[JavaScript] Scrollscript-probleem

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

nssadmin