Я должен представить, что это распространенный вариант использования javascript / jQuery, так что извините, если это где-то еще на сайте, я искал его и не смог найти этот базовый вариант использования.
У меня есть видимый div (A). При наведении курсора на этот div отображаются некоторые другие div (B & C). При наведении курсора на любой из этих элементов (A, B или C) будут скрыты два показанных элемента (B & C).
Достаточно просто, верно? Проблема заключается в том, что это простое поведение приводит к уродству, когда вы несколько раз подряд наводите и разворачиваете его, поскольку все события складываются, а затем некоторое время просто действуют как аккордеон.
Я попытался привести функцию typewatch в уравнение:
var typewatch = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
}
})();
Но я не смог правильно его использовать, я думаю (возможно, мне пришлось бы вызвать одну пользовательскую функцию переключения, которая вызывает саму typewatch, или что-то в этом роде?).
Для простоты понимания приведу jsfiddle точного случая:
http://jsfiddle.net/tchalvakspam/KG3P9/7/
Но в целом, как я могу поймать несколько событий и почитать только самое последнее?