Re: [問題] 延遲 onmouseover 的效果
※ 引述《l8 (%)》之銘言:
: ※ 引述《statue (statue)》之銘言:
: : 我有個網頁上面有許多的連結, 而幾乎每個連結都有 onmouseover 的效果,
: : 效果的產生是透過 ajax 去抓資料, 寫入某個 div, 然後在呈現.
: : function show(event, id) {
: : initFrm(); // 清空準備顯示的
: : retrieveURL("hover.php?id="+id); // 用 ajax 抓取資料
: : showFrm(event, "Frm"); // 將該 Frm 設定為 block 顯示
: : }
: : 可是我希望 show() 可以延遲 1 秒後才執行, 因為畫面上得物品太多,
: : 滑鼠滑過去會造成一次執行很多個 ajax, 造成系統效能不太好.
: : 有什麼建議改善的方式嘛? 我想到的方式是當 onmouseover 的時候延遲執行 show(),
: : 但是當延遲沒結束就離開的時候該怎麼判斷?
: 今天爬文後發現三年前的這個問題
: 我目前做到的瓶頸跟statue一樣
: 希望可以讓滑鼠在圖片上面停留個1秒
: 才去抓取資料
: 太快速的滑鼠移動 就把它忽略過去
: 讓系統跑起來順一點
: 不知道這個問題該怎麼解決呢?
var timeId=null;
$('img').mouseover(function(){
if(timeId!==null){//有 timeId就清掉,然後重設
clearTimeout(timeId);
timeId=null;
}
timeId=setTimeout(function(){
yourFunction();
timeId=null;
}, 1000);
})
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.46.184
推
02/28 15:52, , 1F
02/28 15:52, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章