45 секундов брояч

hisar

Registered
Здравйете искам брояч който брои на обратно от 45 тоест от 45сек. до 0сек. и като свърши да показва полето с id - #glass ?
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> Web-Tourist.NET </title>
<meta http-equiv="Content-Type" content="text/html; windows-1251">
<style type="text/css">

</style>

<script type="text/javascript" language="javascript">

</script>

</head>

<body>

<center>

<div id="pokaji"><script type="text/javascript" language="javascript">pyrvoChislo();</script></div>
<div id="skritdiv">neshto ima tuk</div>
</center>

</body>

</html>

Значи вчера писах 1 скрипт за брояч и ти го направих по твоите изисквания. Само,че тук брои от 5 до 1 и тогава показва текста.

Сега ще ти обясня малко по-подробно как работи скрипта - (не съм го пробвала в други браузъри освен Google Chrome :) ) - значи в CSS-a задаваме 1 id на елемент, чийто дисплей ще е скрит. Създаваме си масив (в нашия случай от числа) и после с функции викаме всеки ред от масива. Накрая след последната функция слагаме :
function tekst()
{
document.getElementById('skritdiv').style.display = "block";
}
, което ще направи div-a (в нашия случай) в block = visible . Надявам се да разбра как става точно, ако има нещо питай пак.

Edit: Ето ти демо, за да видиш какво точно става цък.
 
<style>
#hiddendiv {
display:none;
}
</style>



<script>

var milisec=0;
var seconds=45;


function display(){
if (milisec<=0){
milisec=9;
seconds-=1;
}
if (seconds<=-1){
milisec=0;
seconds+=1;
}
else {
milisec-=1
setTimeout("display()",100);
}
if(seconds == 0 && milisec == 0) {
document.getElementById('hiddendiv').style.display = "block";
}
}
display();

</script>
<div id="hiddendiv">
OK
</div>
@Fakeheal ,ами ако ми трябва за 10 минути?
 
lam3r4370 каза:
<style>
#hiddendiv {
display:none;
}
</style>



<script>

var milisec=0;
var seconds=45;


function display(){
if (milisec<=0){
milisec=9;
seconds-=1;
}
if (seconds<=-1){
milisec=0;
seconds+=1;
}
else {
milisec-=1
setTimeout("display()",100);
}
if(seconds == 0 && milisec == 0) {
document.getElementById('hiddendiv').style.display = "block";
}
}
display();

</script>
<div id="hiddendiv">
OK
</div>
@Fakeheal ,ами ако ми трябва за 10 минути?


В момента се уча още :). Ще извиняваш за допуснатите грешки. И плюс това мисля,че автора на темата иска да му излиза брояча така де .. цифрите, които отброява.
 
Лесна работа -
<style>
#hiddendiv {
display:none;
}
</style>

<p id="timer">45</p>

<script>

var milisec=0;
var seconds=45;


function display(){
if (milisec<=0){
milisec=9;
seconds-=1;
}
if (seconds<=-1){
milisec=0;
seconds+=1;
}
else {
milisec-=1
setTimeout("display()",100);
document.getElementById("timer").innerHTML=seconds+"."+milisec
}
if(seconds == 0 && milisec == 0) {
document.getElementById('hiddendiv').style.display = "block";
}
}
display();

</script>
<div id="hiddendiv">
OK
</div>
 
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>javascript timer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

	</head>
	<body>
		<h1 id="timer">45 сек.</h1>
		<div style="display:none;" id="glass"> скрит елементъ, който се показва след 45 секунди!</div>
		
<script>
	function timer(){
		var timers = document.getElementById('timer');
		
		if( parseInt(timers.innerHTML) < 2){
			timers.style.display = 'none';
			document.getElementById('glass').style.display = "block";
		}else{
			timers.innerHTML = parseInt(timers.innerHTML) - 1 + ' сек.'  ;
			setTimeout(timer, 1000)
		}
	}
	timer();
</script>
	</body>
</html>

На това му викам просто. В елемента , в случая ми е <h1> задаваш секундите , колкото искаш, след изтичането им се появява другия елемент.
 

Back
Горе