<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        jQuery鼠標經過(hover)事件的延時處理示例_jquery

        來源:懂視網 責編:小采 時間:2020-11-27 21:21:56
        文檔

        jQuery鼠標經過(hover)事件的延時處理示例_jquery

        jQuery鼠標經過(hover)事件的延時處理示例_jquery:一、關于鼠標hover事件及延時 鼠標經過事件為web頁面上非常常見的事件之一。簡單的hover可以用CSS :hover偽類實現,復雜點的用js。 一般情況下,我們是不對鼠標hover事件進行延時處理。但是,有時候,為了避免不必要的干擾,常會對鼠標hover事件進行延時
        推薦度:
        導讀jQuery鼠標經過(hover)事件的延時處理示例_jquery:一、關于鼠標hover事件及延時 鼠標經過事件為web頁面上非常常見的事件之一。簡單的hover可以用CSS :hover偽類實現,復雜點的用js。 一般情況下,我們是不對鼠標hover事件進行延時處理。但是,有時候,為了避免不必要的干擾,常會對鼠標hover事件進行延時

        一、關于鼠標hover事件及延時
        鼠標經過事件為web頁面上非常常見的事件之一。簡單的hover可以用CSS :hover偽類實現,復雜點的用js。

        一般情況下,我們是不對鼠標hover事件進行延時處理。但是,有時候,為了避免不必要的干擾,常會對鼠標hover事件進行延時處理。所謂干擾,就是當用戶鼠標不經意劃過摸個鏈接,選項卡,或是其他區域時,本沒有顯示隱藏層,或是選項卡切換,但是由于這些元素上綁定了hover事件(或是mouseover事件),且無延時,這些時間就會立即觸發,反而會對用戶進行干擾。

        例如,在騰訊網首頁,幾乎對所有的鼠標經過事件進行了延時處理,例如其選項卡:

        騰訊首頁選項卡 張鑫旭-鑫空間-鑫生活

        或是其頂部的搜搜導航條,見下圖:

        騰訊網首頁搜搜搜索欄 張鑫旭-鑫空間-鑫生活

        二、實例及演示
        本文的主要內容就是展示我前幾天寫的鼠標延遲的方法,jQuery下的方法,水平拙劣,僅供參考。本文就以騰訊網首頁搜搜搜索欄的一些鼠標經過效果為實例,演示jQuery下的延時處理。下圖為demo頁面的效果截圖:

        jQuery鼠標延遲demo截圖 張鑫旭-鑫空間-鑫生活

        三、代碼與實現
        說到延時,離不開window下的setTimeout方法,本實例的jQuery方法的核心也是setTimeout。代碼不長,完整如下:

        代碼如下:
        (function($){
        $.fn.hoverDelay = function(options){
        var defaults = {
        hoverDuring: 200,
        outDuring: 200,
        hoverEvent: function(){
        $.noop();
        },
        outEvent: function(){
        $.noop();
        }
        };
        var sets = $.extend(defaults,options || {});
        var hoverTimer, outTimer;
        return $(this).each(function(){
        $(this).hover(function(){
        clearTimeout(outTimer);
        hoverTimer = setTimeout(sets.hoverEvent, sets.hoverDuring);
        },function(){
        clearTimeout(hoverTimer);
        outTimer = setTimeout(sets.outEvent, sets.outDuring);
        });
        });
        }
        })(jQuery);


        這段代碼的目的在于讓鼠標經過事件和延時分離的出來,延時以及延遲的清除都已經由此方法解決了。您所要做的,就是設定延時的時間大小,以及相應的鼠標經過或是移除事件即可。舉個簡單的例子吧,如下代碼:

        代碼如下:
        $("#test").hoverDelay({
        hoverEvent: function(){
        alert("經過我!");
        }
        });

        表示的含義是id為test的元素在鼠標經過后200毫秒后彈出含有“經過我!”文字字樣的彈出框。

        ok,現在應用到本文的實例上。

        騰訊網的首頁的搜索框上面除了鼠標經過延時,其換膚也是值得一提的,關于換膚我之前也提過,在jQuery-馬化騰產品設計與用戶體驗的一些技術實現一文中,相應的demo頁面您可以狠狠地點擊這里:騰訊首頁個性化換膚demo頁面

        首先,展示下騰訊首頁搜索欄的主要HTML結構域代碼:

        代碼如下:

        網頁


        圖片


        視頻


        音樂


        搜吧


        問問


        博客


        更多▼


      1. 綜合

      2. 新聞

      3. 詞典

      4. 生活

      5. 百科

      6. 所有產品






      7. 與先首頁代碼幾乎一致,如假包換。應用了本文沒什么技術含量的延遲方法后,可以應用如下的代碼實現延遲執行。

        代碼如下:
        $(".s2").each(function(){
        $("#sosoFod h3").each(function(){
        var that = $(this);
        var id = that.attr("id");
        if(id){
        that.hoverDelay({
        hoverEvent: function(){
        $(".s1").attr("class","s2");
        that.attr("class","s1"); //感謝“type23”提供了綁定對象方法
        $(this).attr("class","s1");
        }
        });
        }else{
        that.hoverDelay({
        outDuring: 1000,
        hoverEvent: function(){
        $("#tm").show();
        },
        outEvent: function(){
        $("#tm").hide();
        }
        });
        }
        });

        唉,慚愧,代碼就這樣,沒什么技術含量的,希望對有用的有用吧。“更多”的下拉鼠標移出后1000毫秒后下拉框隱藏。

        基本上都是代碼在撐頁面,說點有用的東西吧。

        hoverDelay方法共四個參數,表示意思如下:

        hoverDuring 鼠標經過的延時時間
        outDuring 鼠標移出的延時時間
        hoverEvent 鼠標經過執行的方法
        outEvent 鼠標移出執行的方法

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        jQuery鼠標經過(hover)事件的延時處理示例_jquery

        jQuery鼠標經過(hover)事件的延時處理示例_jquery:一、關于鼠標hover事件及延時 鼠標經過事件為web頁面上非常常見的事件之一。簡單的hover可以用CSS :hover偽類實現,復雜點的用js。 一般情況下,我們是不對鼠標hover事件進行延時處理。但是,有時候,為了避免不必要的干擾,常會對鼠標hover事件進行延時
        推薦度:
        標簽: 鼠標 事件 延時
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 永久免费av无码入口国语片| 亚洲日韩精品无码专区| 亚洲免费在线观看视频| 久久不见久久见中文字幕免费| 国产免费观看青青草原网站| 亚洲成A人片在线观看WWW| 亚洲人片在线观看天堂无码| 免费a级毛片高清视频不卡| 亚洲中文字幕日本无线码| 成人免费a级毛片| 国产AV无码专区亚洲AV琪琪| 性短视频在线观看免费不卡流畅| 亚洲美女在线国产| 亚洲国产成人精品无码区花野真一 | 国产精品永久免费| 国产精品免费一级在线观看| 国产精品观看在线亚洲人成网| 日韩一级免费视频| 亚洲日韩AV无码一区二区三区人| 国外成人免费高清激情视频 | 亚洲一卡2卡4卡5卡6卡在线99 | 91亚洲精品自在在线观看| 午夜免费1000部| 亚洲av成人无码网站… | 亚洲欧洲日韩不卡| 福利免费观看午夜体检区| 色偷偷亚洲第一综合网| 亚洲综合色在线观看亚洲| 国产亚洲成在线播放va| 亚洲午夜福利717| 国产啪精品视频网免费| 羞羞视频在线免费观看| 亚洲人成亚洲人成在线观看| 黄色永久免费网站| 一级毛片免费播放试看60分钟| 免费国产在线观看老王影院| 97在线视频免费公开视频| 亚洲欧洲国产精品香蕉网| 无遮免费网站在线入口| 免费看内射乌克兰女| 亚洲日产2021三区在线|