Re: [問題] 延遲 onmouseover 的效果

看板Ajax作者 (多想兩分鐘 = =")時間14年前 (2010/02/28 04:22), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《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
文章代碼(AID): #1BYNxzbZ (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1BYNxzbZ (Ajax)