#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
У меня есть div, который появляется, когда пользовательская мышь покидает документ с опросом о моем сайте.
Я не хочу просить их проводить опрос, если они уберут мышь в первые пару минут во время просмотра, поэтому мне было интересно, могу ли я установить тайм-аут / режим ожидания, когда активируется эта функция mouseleave.
Вот мой код без тайм-аута:
$(document).mouseleave(function () {
document.getElementById("Overlay1").style.display = "";
});
Большое спасибо!
Ответ №1:
Вы можете использовать window.setTimeout
для включения функции через определенное время.
Пример:
window.setTimeout(function(){
$(document).mouseleave(function () {
console.log('mouse leave');
document.getElementById("Overlay1").style.display = "";
});
console.log('initiated');
},5000);
Комментарии:
1. Извините, я не слишком хорош в javascript, я поместил ваш код выше своего, но, похоже, это не работает.
Ответ №2:
вы могли бы вызвать ту же функцию, инкапсулированную в setTimeout
вызов функции :
$(document).mouseleave(function() {
var seconds = 3;
//execute the function in 3 seconds
setTimeout(function(){
document.getElementById("Overlay1").style.display = "";
},seconds*1000);
});
Комментарии:
1. Я пытался, но, похоже, это не отображается даже через 3 секунды, и dreamweaver сообщает, что в строке есть синтаксическая ошибка: setTimeout(функция(){
2. извините, у меня была опечатка: D «функция» вместо «function». см. редактирование
3. Ах, большое спасибо, работает, но он продолжает часто всплывать, пример с другими плакатами работает отлично, хотя спасибо за помощь!!