3秒钟后在鼠标悬停启用按钮上,在鼠标关闭时禁用并停止倒计时

时间:2019-05-02 02:00:38

标签: javascript jquery

我有一个无法执行某些操作的按钮,除非用户将鼠标悬停在其上方3秒钟,否则我将尝试在其上设置锁定。如果他们等待3秒钟,该按钮将变为启用状态。一旦他们将鼠标移开,它将再次禁用。如果他们还在3秒钟的倒数计时期间将鼠标移开,则会停止倒数计时。

    $('#delete_btn').on('mouseover', function () {
        setTimeout(function () {
            $('#delete_btn').prop('disabled', false)
        }, 3000)
    })

    $('#delete_btn').on('mouseout', function () {
            $('#delete_btn').prop('disabled', true)
    })

我不确定如果他们提前将鼠标移出

2 个答案:

答案 0 :(得分:1)

这是W3School的复制粘贴,基本上,您必须将超时“保存”到var中,然后在悬停时清除超时:

match (a:User)-[:RATED]->(b:Movie)<-[:RATED]-(c:User) return a,count(b),c limit 1000

我希望这会有所帮助:)

答案 1 :(得分:1)

您需要清除超时。这样,就可以在下一次通话时触发了

    var timeout;

    $('#delete_btn').on('mouseover', function() {
        timeout = setTimeout(function() {
            $('#delete_btn').prop('disabled', false);
        }, 3000);
    });

    $('#delete_btn').on('mouseout', function() {
        clearTimeout(timeout);
        $('#delete_btn').prop('disabled', true);
    });

在CodePen工作中查看它:

https://codepen.io/aminshahrokhi/pen/VNJBYZ