小编Pau*_* S.的帖子

Javascript:clearTimeout 似乎只挂起,不重置或清除?

我对 JS 非常陌生,正在尝试修改基于 JavascriptKit jQuery 的 megamenu 系统以延迟显示菜单,直到鼠标悬停在锚点对象上指定时间。

我现在面临的问题是,在 mouseout 上调用的 clearTimeout 似乎只是挂起 setTimeout,而不是取消、清除、重置它。

在这一点上,我只是在 setTimeout 调用后显示警报。目前我将超时间隔设置为 2000 以进行测试。

例如,由于我现在将其设置为 2 秒延迟,如果我将鼠标悬停在对象上 4 次持续 1/2 秒,则第 5 次将鼠标悬停在对象上时,我的测试警报框会立即出现。

我认为 clearTimeout 应该完全破坏定时事件。为什么它似乎只暂停倒计时?

teststuff:function(){
    if(jkmegamenu.toggletest==1)
     {
         jkmegamenu.executetimedcommand()
         jkmegamenu.toggletest=0
     }
    else
     {
         //jkmegamenu.executetimedcommandcancel()
         clearTimeout(jkmegamenu.teststuff);
     }
    },

    executetimedcommand:function(){
        if(jkmegamenu.toggletest==1)
        {
            alert('abcde')
        }
    },

    canceltimedcommand:function(){
    clearTimeout(jkmegamenu.teststuff);
},
Run Code Online (Sandbox Code Playgroud)

javascript jquery

3
推荐指数
1
解决办法
1252
查看次数

标签 统计

javascript ×1

jquery ×1