Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт с отсчётом времени (https://javascript.ru/forum/misc/26584-skript-s-otschjotom-vremeni.html)

bona 14.03.2012 00:25

Скрипт с отсчётом времени
 
Мне нужно,чтобы происходил отсчет 10 секунд,по истечении которого выводится надпись: "время вышло",но при запуске скрипта появляется запрос prompt,при правильном ответе на который отсчет прекращается.
Я написала скрипт:
<script>
function func(){
 alert('время вышло')
 }
 function disfunc(){
 clearTimeout(mytime);
 }
var mytime=setTimeout('func()',10000); 
 var primer=prompt('2*2','')

if (primer="4")
disfunc()

</script>

Но он не работает так,как нужно,т.е. кроме prompt('2*2','') не выполняется ничего. Подскажите,пожалуйста,в чём ошибка?

Rootpassword 14.03.2012 00:30

var mytime=setTimeout(func,10000);
как минимум

nerv_ 14.03.2012 09:55

setTimeout(
	function() {
		alert( 'Время вышло' );
	},
	10000
);

bona 15.03.2012 07:29

Maxmaxmахimus,понятно, я действительно опечаталась. Спасибо.

Rootpassword 15.03.2012 10:31

Синтаксис с code вместо func устарел уже сто лет в обед и оставлен только для совместимости.
Да и писать так совершенно не нужно, это просто поправка.

Rootpassword 15.03.2012 13:11

Там в сообщении нет ни слова про ошибку, это простое исправление. Думаю вы согласитесь, что нет вообще никакой необходимости писать именно так.

http://javascript.ru/setTimeout
Цитата:

Вызов со строкой существует для совместимости с прежними версиями javascript.

Rootpassword 15.03.2012 13:35

Так я полностью согласен, что ошибка не в этом.
Просто очевидно, что человек немного не разобрался с этим, именно на это я и указал, плюс использовал устаревший синтаксис, причем совершенно необоснованно. А остальное я глянул, но уже было полтретьего ночи, и сама идея была неверной, все переделывать я не мог, написал что успел и ушел.


Часовой пояс GMT +3, время: 04:53.