setTimeout & pop-up modal

276
20 февраля 2017, 19:05

Привет! Новичок, практикуюсь, пишу чат на JS.

Нужно сделать выпадающее окно со смайлами. Наводим на иконку - появилось окно, убираем, даем польз. секунду вернуться, выключаем окно. Похожая штука как в vk.com

Собственно, код

		// Hovers 
 
var modal = { 
    isActive: false, 
    elem: $('.dropdown-smiles'), 
    trigger: $('.toggle-smiles'), 
    activate: function() { 
        this.elem.show(); 
        this.isActive = true; 
        this.trigger.addClass("shown"); 
    }, 
    deactivate: function() { 
        this.elem.hide(); 
        this.isActive = false; 
        this.trigger.removeClass("shown"); 
    }, 
}; 
 
function checkHovered() { 
    $(document).mouseout(function(e){ 
        if (!modal.elem.is(e.target) && modal.elem.has(e.target).length === 0) { 
            modal.deactivate(); 
        } 
    }); 
}; 
 
modal.trigger.mouseenter(function(){ 
    modal.activate(); 
}).mouseleave(function(){ 
    setTimeout(function(){ 
        checkHovered() 
    },1000) 
});

Нужна идея, как правильно использовать checkHovered и setTimeout

Спасибо!

READ ALSO
Несколько json_encode в ajax запросе

Несколько json_encode в ajax запросе

Нужно вывести содержимое двух массивов с помощью ajaxпоявляется ошибка в js при распарсивании массива Unexpected token { in JSON at position 19

336
Встраивание в DOM с помощью jQuery, влияние на SEO

Встраивание в DOM с помощью jQuery, влияние на SEO

Доброго времени сутокСитуация следующая:

267
Передать значение input в модал

Передать значение input в модал

Допустим есть у меня input, значение которого нужно передать в input, который находится в ModalПодскажите, как можно реализовать это

329
Парсер JSON с массивами

Парсер JSON с массивами

Всем привет! Есть файл JSON (можно его изменить для решения задачи)В нем содержатся настройки и данные для автоматического заполнения форм

409