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數位生活區 即時熱門文章