Re: [問題] 怎麼讓焦點停留幾秒之後執行動作
※ 引述《knives ()》之銘言:
: 比方說,我現在有一個div 它的class叫做 showme
: 如果當我用jQuery的hover事件,如果用戶的焦點在showme 停了一段我設定好的時間
: 比方三秒之後,就執行另外一個動作 function act2();
: 我是有想過用settimeout 的方式,可是如果用戶在三秒之前就換了焦點
: 那我該怎麼取消剛才settimeout應該要執行的動作
: 有人有比較完善的流程建議嗎
: 謝謝回答
原版
function act2(){
if(window.showmeIsFocused){
alert("KerKer");
}
}
$(".showme").hover(function(){
window.showmeIsFocused = true;
setTimeout(act2, 30000);
}, function(){
window.showmeIsFocused = false;
});
修改後
function act2(){
alert("KerKer");
}
$(".showme").hover(function(){
window.showmeTimeoutId = setTimeout(act2, 30000);
}, function(){
clearTimeout(window.showmeTimeoutId);
});
這樣是否有比較好?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.187.59
→
11/12 22:23, , 1F
11/12 22:23, 1F
→
11/12 22:34, , 2F
11/12 22:34, 2F
※ 編輯: iam87king 來自: 118.167.187.59 (11/12 22:39)
→
11/13 12:59, , 3F
11/13 12:59, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):