webForumDet fria alternativet

Avbryta nedräkning vid musklick på fönstret

JavaScript

4 svar · 377 visningar · startad av Mattias Nordin

Medlem sedan dec. 20051 056 inlägg
Frågan#1
<script>
var s = 15
function countdown(){
	s = s -1  
	document.getElementById("time").innerHTML = s

	if (s == 0){
	// Köres när nedräkningen är klar 
	document.location.href = "show_media_mall.asp?movie_id=<%=sNextMovieId%>"
	}

  window.setTimeout("countdown()", 1000);
}
window.onload = countdown;
</script>

Jag använder koden ovan för att ladda en ny websida efter x antal sekunder. Jag vill nu avbryta denna nedräkning vid något event som tex att man klickar på fönstret. Hur åstakommer man det `?

:stud

Medlem sedan dec. 20025 483 inlägg
#2
<script>
var s = 15, to = 0; 
function countdown(){
	s = s -1  
	document.getElementById("time").innerHTML = s

	if (s == 0){
	// Köres när nedräkningen är klar 
	document.location.href = "show_media_mall.asp?movie_id=<%=sNextMovieId%>"
	}

  to = window.setTimeout("countdown()", 1000);
}
window.onload = countdown;

document.onclick = function(){ window.clearTimeout(to) }
</script>

:)

Medlem sedan dec. 20051 056 inlägg
#3

Vacker konst !

Men jag skulle vilja kunna starta en nedräkning igen efter att det är stoppat. Hur gör jag det?

Och... så försöker jag få till det så att den börjar räkna om från x när den räknat ner till 0. Efter att den nya sidan har laddats.

:stud

Medlem sedan dec. 20051 056 inlägg
#4

Och så vill jag köra flera nedräkningsskript samtidigt på samma sida. Det är bara det senaste skriptet som fungerar.

Som ni märker är jag ganska novis på javascript...

		<script language="JavaScript1.2">
		// y, mm - 1, d, h, m
		var d = new Date(2006, 01, 10, 12, 00);

		function countdown(){
		  var diff  = d - new Date(),
		      h     = Math.floor(diff / 3600000),
		      m     = Math.floor(diff / 60000 - 60 * h),
		      s     = Math.floor(((diff / 1000 - 3600 * h)  - 60 * m));
		  document.getElementById("time").innerHTML =""+ h +" hours " + m +" minutes " + s +" seconds ";
		  window.setTimeout("countdown()", 960);
		}
		
		window.onload = countdown;
		</script>

		<script>
		var s1 = 10, to = 0
		function countdown_small(){
			s1 = s1 -1  
			document.getElementById("small_countdown").innerHTML = s1
		
			if (s1 == 0){
			// Köres när nedräkningen är klar 
			document.iframe1.location.href = "_inc_show_chatt_history.asp"
			}
		
		  to = window.setTimeout("countdown_small()", 1000);
		}
		window.onload = countdown_small; 
		</script>
Medlem sedan dec. 20025 483 inlägg
#5
<script language="JavaScript1.2">
		// y, mm - 1, d, h, m
		var d = new Date(2006, 01, 10, 12, 00);

		function countdown(){
		  var diff  = d - new Date(),
		      h     = Math.floor(diff / 3600000),
		      m     = Math.floor(diff / 60000 - 60 * h),
		      s     = Math.floor(((diff / 1000 - 3600 * h)  - 60 * m));
		  document.getElementById("time").innerHTML =""+ h +" hours " + m +" minutes " + s +" seconds ";
		  window.setTimeout("countdown()", 960);
		}
		
		</script>

		<script>
		var  toVal = 10, //skall vara lika med s1
		        s1 = 10,
		        to = 0,
		   stopped = false;
		function countdown_small(){
			s1 = s1 - 1;
			document.getElementById("small_countdown").innerHTML = s1;
		
			if (s1 == 0){
				// Köres när nedräkningen är klar 
				window.frames["iframe1"].location.href = "_inc_show_chatt_history.asp";
				s1 = toVal;
			}
		
		  to = window.setTimeout("countdown_small()", 1000);
		}
		window.onload = function(){ countdown(); countdown_small(); }

		document.onclick = function(){
			if (stopped){
				countdown_small();
			} else {
				window.clearTimeout(to);
			}
			stopped = !stopped;
		}
</script>
253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)