2016-05-18 7 views
-1

У меня есть эта функция:Добавить задержку функции JS

$(document.body).ready(function() { 
    var o = $(".hidden"); 
    $(".about_us").click(function() { 
    o.hasClass("visible") ? o.removeClass("visible") : o.addClass("visible"); 
    }); 
}); 

, и я хочу, чтобы добавить задержку к нему. Я пробуя

setTimeout(...); 

как этот

$(document.body).ready(function() { 
    setTimeout(function() { 
    var o = $(".hidden"); 
    $(".about_us").click(function() { 
     o.hasClass("visible") ? o.removeClass("visible") : o.addClass("visible"); 
    }); 
    }, 1000); 
}); 

, но это не работает. Любая помощь?

+1

ГДЕ вы хотите задержки? Похоже, вы хотите подождать 1 секунду, прежде чем добавлять слушателя кликов, но это не имеет смысла. Возможно, вы хотите, чтобы задержка произошла * после * щелчка? Просьба уточнить. – Moob

ответ

2

Похоже, вы пытаетесь добавить тайм-аут 1 секунду перед добавлением прослушивателя кликов, но, как сказал @Moob, это не имеет смысла.

Если вы хотите, чтобы задержка произойдет после клика, этот код будет работать:

$(document).ready(function() { 
    $(".about_us").click(function() { 
    setTimeout(function() { 
     var o = $(".hidden"); 
     o.hasClass("visible") ? o.removeClass("visible") : o.addClass("visible"); 
    }, 1000); 
    }); 
}); 
-1
window.setTimeout(
    function() { 
    $(".about_us").click(function() { 
     o.hasClass("visible") ? o.removeClass("visible") : o.addClass("visible"); 
    }); 
    } 
    , 1000 
); 

Вышеупомянутый правильный синтаксис, но еще не проверенный ... Это будет работать на 100%.

Смежные вопросы