Нужно добиться, чтобы действие выполнялось только по истечении заданного интервала мыши.
Т.е., хотелось бы установить интервал, например 0.5с, если указатель мыши находится над элементом меньше этого времени - считаем случайно проводкой и ничего не выполняется.
Если больше - выполняется действие.
Удалось построить следующий код:
$('.view-display-id-page_1').on('mouseenter', '.views-col', function() {
var tempThis = $(this);
var TimerInterval = setTimeout(function(){
$(tempThis).addClass('mouseenter');
$(tempThis).find('.views-field-title .field-content > a').addClass('mouseenter');
$(tempThis).find('.views-field-field-spisok-dat .field-content').addClass('mouseenter');
}, 1000);
})
$('.view-display-id-page_1').on('mouseleave', '.views-col', function() {
var tempThis = $(this);
$(tempThis).removeClass('mouseenter');
$(tempThis).find('.views-field-title .field-content > a').removeAttr('class');
$(tempThis).find('.views-field-field-spisok-dat .field-content').removeClass('mouseenter');
clearTimeout(TimerInterval);
})
Но, в данной реализации срабатывание выполняется всегда, причем если мышка ушла раньше заказанного времени, то начинается некорректная работа переключения классов.
Безрезультатно бьюсь над задачей весь день. Прошу помощи как для совсем для начинающих.
Спасибо