Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.12.2011, 14:42
Интересующийся
Отправить личное сообщение для serb1897 Посмотреть профиль Найти все сообщения от serb1897
 
Регистрация: 08.12.2010
Сообщений: 11

Не работает 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 редко работаю, поэтому подобные ошибки ставят в тупик
Ответить с цитированием
  #2 (permalink)  
Старый 28.12.2011, 14:44
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

видимо, библиотеку jquery не загрузили :-)
Ответить с цитированием
  #3 (permalink)  
Старый 28.12.2011, 14:44
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

попробуй так
$(setTimeout(function() {$('[name*=msg]').fadeOut('slow')}, 4000))
Ответить с цитированием
  #4 (permalink)  
Старый 28.12.2011, 14:46
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Livaanderiamarum,
ыыы?
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #5 (permalink)  
Старый 28.12.2011, 14:48
Интересующийся
Отправить личное сообщение для serb1897 Посмотреть профиль Найти все сообщения от serb1897
 
Регистрация: 08.12.2010
Сообщений: 11

Сообщение от Livaanderiamarum Посмотреть сообщение
попробуй так
$(setTimeout(function() {$('[name*=msg]').fadeOut('slow')}, 4000))
Теперь ругается на первый "$"
Ответить с цитированием
  #6 (permalink)  
Старый 28.12.2011, 14:49
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Nekromancer Посмотреть сообщение
Livaanderiamarum,
ыыы?
ну ВОЗМОЖНО, если он конечно jQuery подключил, каким то хреном (что вообще вряд ли если что) $ инициализирована после засовывания его функции в таймаут и в ней еще не видна)
Ответить с цитированием
  #7 (permalink)  
Старый 28.12.2011, 14:49
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от serb1897 Посмотреть сообщение
Теперь ругается на первый "$"
попробуй замени $ на слово jQuery везде где можно
Ответить с цитированием
  #8 (permalink)  
Старый 28.12.2011, 14:50
Интересующийся
Отправить личное сообщение для serb1897 Посмотреть профиль Найти все сообщения от serb1897
 
Регистрация: 08.12.2010
Сообщений: 11

Сообщение от Pavel M. Посмотреть сообщение
видимо, библиотеку 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>
Ответить с цитированием
  #9 (permalink)  
Старый 28.12.2011, 14:53
Интересующийся
Отправить личное сообщение для serb1897 Посмотреть профиль Найти все сообщения от serb1897
 
Регистрация: 08.12.2010
Сообщений: 11

Сообщение от Livaanderiamarum Посмотреть сообщение
попробуй замени $ на слово jQuery везде где можно
Теперь ругается на jQuery вместо $
Ответить с цитированием
  #10 (permalink)  
Старый 28.12.2011, 15:01
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от serb1897 Посмотреть сообщение
Но вот этот код у меня работает
<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 ЧТОБЫ ОПРЕДЕЛИТЬ ЕЁ РАБОТОСПОСОБНОСТЬ.......
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
подскажите как работает setTimeout ruslan368560 Общие вопросы Javascript 1 17.05.2011 18:48
setTimeout как он работает??? namo86 Общие вопросы Javascript 16 02.02.2011 09:01
как работает setTimeout??? rhjirftyjn Общие вопросы Javascript 7 24.12.2010 16:39
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59