@TomRiddle
Я здесь, потому что ничего не нагуглил XD

Почему не срабатывает setTimeout в данном случае?

Нужно сделать, чтобы блоки div с определенным классом появились спустя некоторое время. Пытаюсь реализовать через settimeout.

Если делаю функцию без аргумента, то все срабатывает, но когда пытаюсь сделать функцию с аргументом - нет. Получается ошибка в передаче аргумента? Интересно разобраться для себя...

function surprise (a) {
    a.show() ;
}
var timer = setTimeout (surprise, 15000, '$("div.classname")')
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
v3shin
@v3shin
Веб-шаман
Строка '$("div.classname")' не имеет метода show(). Передавайте селектор в функцию и обрабатывайте его в функции.
Ответ написан
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
Потому что вы передаёте в качестве аргумента строку!

Правильно так (в качестве аргумента передаём элемент)
function surprise (a) {
    a.show() ;
}
var timer = setTimeout (surprise, 15000, $("div.classname"));

Либо так (в качестве аргумента передаём селектор)
function surprise (a) {
    $(a).show() ;
}
var timer = setTimeout (surprise, 15000, 'div.classname');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы