テクニカル雑記帳です
【jQuery】n秒間hoverすると発火する処理
$("#target").mouseenter(function(){
//1秒間hoverしたら表示
timmer = setTimeout(function(){
console.log("SUCCESS!");
},1000);
}
}).mouseleave(function(){
clearTimeout(timmer);
});
ポイント
setTimeout
を使う.- カーソルが外れた時に
clearTimeout
でタイマーを切って処理への道を断つ. setTimeout([処理], [n/1000秒])
なので、1秒=1000で記載する.
✌️
もちろんhover()
でもできる.
$("#target").hover(function(){
//1秒間hoverしたら表示
timmer = setTimeout(function(){
console.log("SUCCESS!");
},1000);},function(){
clearTimeout(timmer);
})