首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取消hoverIntent定时器

取消hoverIntent定时器
EN

Stack Overflow用户
提问于 2011-01-21 13:39:06
回答 1查看 599关注 0票数 3

我多次使用jQuery和hoverIntent插件,用于下拉菜单和高级导航,应该更优雅一些。但我遇到了一个问题。

我有一个菜单,有一个可点击的li元素,也有一个悬停。如果有人在意图计时器触发之前点击它,我想取消悬停的,因为它看起来更好看。

我不知道怎么做,设计师第一,编码器第二。这就是所谓的意图:

代码语言:javascript
复制
$('#navigationContainer ul li').hoverIntent(configDown);

它有一个变量configDown,它定义了灵敏度等,还有两个叫做slideUp和slideDown的函数。一切都很完美。

如果有人单击相同的元素,我希望取消hoverIntent。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-21 14:06:38

与其取消hoverIntent,不如修改hoverIntent回调中的代码,以首先检查是否单击了li

代码语言:javascript
复制
var configDown = {
    slideUp: function () {
        if ($(this).hasClass('no-intent')) return;
        // slide up
    },
    slideDown: function () {
        if ($(this).hasClass('no-intent')) return;
        // slide down
    }
};

$('#navigationContainer ul li').click(function () {
    $(this).addClass('no-intent');
}).hoverIntent(configDown);

但是,除非您对hoverIntent有很好的延迟,否则很难正确地触发它(您可能会在触发hoverIntent之后单击),但是基本的想法是要进行调整。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4759417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档