Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает setTimeout (https://javascript.ru/forum/misc/24394-ne-rabotaet-settimeout.html)

serb1897 28.12.2011 14:42

Не работает setTimeout
 
Добрый день.
Требуется при загрузке страницы выводить сообщение, а через 4 секунды его убрать. Написал следующую функцию:

setTimeout(function() {$('[name*=msg]').fadeOut('slow')}, 4000);


Код HTML выглядит так:

<div name="msg">
Я сообщение!!!
</div>


При выполнении скрипта сообщение никуда не исчезает, а в консоли ошибок пишет: Uncaught exception: ReferenceError: Undefined variable: $

Error thrown at line 5, column 35 in ...
$('[name*=msg]').fadeOut('slow')

Помогите, пожалуйста. В чем может быть ошибка? С JS редко работаю, поэтому подобные ошибки ставят в тупик :(

Pavel M. 28.12.2011 14:44

видимо, библиотеку jquery не загрузили :-)

Livaanderiamarum 28.12.2011 14:44

попробуй так
$(setTimeout(function() {$('[name*=msg]').fadeOut('slow')}, 4000))

Nekromancer 28.12.2011 14:46

Livaanderiamarum,
ыыы?

serb1897 28.12.2011 14:48

Цитата:

Сообщение от Livaanderiamarum (Сообщение 146802)
попробуй так
$(setTimeout(function() {$('[name*=msg]').fadeOut('slow')}, 4000))

Теперь ругается на первый "$"

Livaanderiamarum 28.12.2011 14:49

Цитата:

Сообщение от Nekromancer (Сообщение 146804)
Livaanderiamarum,
ыыы?

ну ВОЗМОЖНО, если он конечно jQuery подключил, каким то хреном (что вообще вряд ли если что) $ инициализирована после засовывания его функции в таймаут и в ней еще не видна)

Livaanderiamarum 28.12.2011 14:49

Цитата:

Сообщение от serb1897 (Сообщение 146805)
Теперь ругается на первый "$"

попробуй замени $ на слово jQuery везде где можно

serb1897 28.12.2011 14:50

Цитата:

Сообщение от Pavel M. (Сообщение 146801)
видимо, библиотеку jquery не загрузили :-)

Но вот этот код у меня работает
<input type="button" onclick="on()" value="Запустить таймаут"/>
<input type="button" onclick="off()" value="Остановить отсчет"/>
<script>
function go() { alert('Я сработало') }
 
function on() {
        timeoutId = setTimeout(go, 3000)
}
 
function off() {
        clearTimeout(timeoutId)
}
</script>

serb1897 28.12.2011 14:53

Цитата:

Сообщение от Livaanderiamarum (Сообщение 146807)
попробуй замени $ на слово jQuery везде где можно

Теперь ругается на jQuery вместо $

Livaanderiamarum 28.12.2011 15:01

Цитата:

Сообщение от serb1897 (Сообщение 146809)
Но вот этот код у меня работает
<input type="button" onclick="on()" value="Запустить таймаут"/>
<input type="button" onclick="off()" value="Остановить отсчет"/>
<script>
function go() { alert('Я сработало') }
 
function on() {
        timeoutId = setTimeout(go, 3000)
}
 
function off() {
        clearTimeout(timeoutId)
}
</script>



НО ВЕДЬ В ЭТОМ КОДЕ НЕТ ИСПОЛЬЗОВАНИЯ jQuery ЧТОБЫ ОПРЕДЕЛИТЬ ЕЁ РАБОТОСПОСОБНОСТЬ.......

serb1897 28.12.2011 15:03

Цитата:

Сообщение от Livaanderiamarum (Сообщение 146815)


НО ВЕДЬ В ЭТОМ КОДЕ НЕТ ИСПОЛЬЗОВАНИЯ jQuery ЧТОБЫ ОПРЕДЕЛИТЬ ЕЁ РАБОТОСПОСОБНОСТЬ.......

Туплю. Извините. Уже все в голове перемешалось с утра (((

Livaanderiamarum 28.12.2011 15:04

Дай адрес по которому jQuery подключаешь?

serb1897 28.12.2011 15:32

Цитата:

Сообщение от Livaanderiamarum (Сообщение 146817)
Дай адрес по которому jQuery подключаешь?

"http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"

Livaanderiamarum 28.12.2011 15:38

Цитата:

Сообщение от serb1897 (Сообщение 146826)
"http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"

дай список ВСЕХ подключаемых скриптов
просто копируй из head

serb1897 28.12.2011 15:44

Цитата:

Сообщение от Livaanderiamarum (Сообщение 146830)
дай список ВСЕХ подключаемых скриптов
просто копируй из head

<?
	if (is_file ($dir."script.js"))
		echo ("\t<script type=\"text/javascript\" src=\"script.js\"></script>\n");
	if (is_file ($dir."/../../localhost/mail.php")) {
?>
	<script type="text/javascript" src="/jquery1.7.1.min.js"></script>
<?}else{?>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<?}?>

Livaanderiamarum 28.12.2011 15:48

ты сам писал этот код?


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