Archief - JS: roulerende banner

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Midnightghost

Legacy Member
Er is een kleine bug in deze banner die ik wil gebruiken.
Telkens als je op start blijft drukken gaat het sneller en sneller als men dan op stop wilt klikke moet men meerdere keren klikken voordat het volledig stilstaat. Kan iemand mij misschien ff helpen om dit op te lossen?

Code:
<html>
<head>
<title>Roulerende banner</title>

<script language="JavaScript" type="text/javascript">
<!--

adImages = new Array ('pix/bannerZon.gif','pix/bannerRegen.gif','pix/bannersneeuw.gif')
thisAd = 0
imgCount = adImages.length
var timerID = "";



function rotate()
	{
		thisAd++
		if (thisAd == imgCount)
			{
				thisAd = 0
			}
		document.adBanner.src=adImages[thisAd]
		timerID = setTimeout("rotate()", 3*1000)
	}
	
function stop()
	{
		clearTimeout(timerID);
		document.adBanner.src=adImages[thisAd]
	}
	

// -->
</script>
</head>

<body>
<center>
  <p><img src="pix/bannerZon.gif" alt="ad banner" name="adBanner" width="400" height="60">
</p>
  <p>
    <input type="button" name="Button" value="Start" onClick="rotate()"> 
    &nbsp;&nbsp;&nbsp;
    <input type="button" name="Button" value="Stop" onClick="stop()">
</p>
</center>

</body>
</html>

Obliv`

Legacy Member
ik ken nu wel geen ballen van javascript, maar dit werkt bij mij :)

Code:
<script language="JavaScript" type="text/javascript">
<!--

adImages = new Array ('pix/bannerZon.gif','pix/bannerRegen.gif','pix/bannersneeuw.gif')
thisAd = 0
imgCount = adImages.length
var timerID = "";
var blnStop = false;



function rotate()
	{
		if (blnStop == false)
		{
			thisAd++

			if (thisAd == imgCount)
			{
				thisAd = 0
			}

			document.adBanner.src=adImages[thisAd]
			timerID = setTimeout("rotate()", 3*1000)
		}
	}
	
function stop()
	{
		blnStop = !blnStop
		clearTimeout(timerID);
		document.adBanner.src=adImages[thisAd]
	}
	

// -->
</script>

tzal wel op een veel simpler manier op te lossen zijn, maar ken dus ook geen van die functies van javascript

groetjes

Midnightghost

Legacy Member
hmm het probleem doet bij mij nog steeds voor.

Als je meermaals op start drukt blijft het sneller gaan .. als je dan stop hier drukt stopt het wel maar dan kun je het niet meer starte soms :x
ma toch bedankt vo het te probere :)

DarkBone

Legacy Member
De oplossing is eigenlijk simpel, als je op start klikt stop je eerst de timer, en daarna steek je hem weer in gang.

Je hoeft dus maar 1 lijntje te veranderen, dit wordt:

Code:
<input type="button" name="Button" value="Start" onClick="stop(); rotate()">

PS: Het is volgens mij trouwens 'roterende' ipv 'roulerende' banner ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan