<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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        window.onresize多次觸發的解決方法_javascript技巧

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

        window.onresize多次觸發的解決方法_javascript技巧

        window.onresize多次觸發的解決方法_javascript技巧:之前做一個擴展,需要在改變窗口大小的時候保證頁面顯示正常,于是用了 window.onresize 但是發現每次 onresize 后頁面中狀態總是不對,后來查找出來原來是 onresize 事件觸發了多次找成的,于是網上搜集了下解決辦法,整理一下。 // 關于 onresi
        推薦度:
        導讀window.onresize多次觸發的解決方法_javascript技巧:之前做一個擴展,需要在改變窗口大小的時候保證頁面顯示正常,于是用了 window.onresize 但是發現每次 onresize 后頁面中狀態總是不對,后來查找出來原來是 onresize 事件觸發了多次找成的,于是網上搜集了下解決辦法,整理一下。 // 關于 onresi

        之前做一個擴展,需要在改變窗口大小的時候保證頁面顯示正常,于是用了 window.onresize 但是發現每次 onresize 后頁面中狀態總是不對,后來查找出來原來是 onresize 事件觸發了多次找成的,于是網上搜集了下解決辦法,整理一下。
        //
        關于 onresize 事件觸發次數,不同瀏覽器不同,safari, opera, firefox 都是一次(分別只用了一個版本測試,都是較新的);
        //ie6 在 quirk 下觸發 2 次,標準下 3 次;ie7,8 在 quirk 和 standard 都是兩次。
        代碼如下:
        window.onresize = function(){
        console.log( 'hello world');
        }
        onresize 觸發多少次并不重要,重要的是解決辦法:在觸發多次的情況下之調用一次幫定到 onresize 上的函數
        //
        //debounce 這個詞不知道怎么翻譯,兄弟我非科班出身,不敢輕易翻譯,以免怡笑大方。:)
        //
        var debounce = function (func, threshold, execAsap) {
        var timeout;
        return function debounced () {
        var obj = this, args = arguments;
        function delayed () {
        if (!execAsap)
        func.apply(obj, args);
        timeout = null;
        };
        if (timeout)
        clearTimeout(timeout);
        else if (execAsap)
        func.apply(obj, args);
        timeout = setTimeout(delayed, threshold || 100);
        };
        }

        // 說明代碼不是我寫的。
        // 代碼說明:
        debounce 接受 3 個參數,后兩個可選;第一個是要 debounce 的函數, 第二個代表 debouce 的時間間隔,第三個在時間段的開始還是結束執行函數;
        debounce 返回包裝好的函數,該函數兩次執行間隔至少是 threshold,并且小于 threshold 間隔的調用會重新開始計時( 兩次調用的時間間隔);
        把 clearTimeout( timeout ) 換為 timer = null; 返回函數兩次執行間隔至少是 threshold,并且小于 threshold 間隔的調用會重新開始計時( 兩次調用的時間間隔);
        // 解決 onresize 多次調用
        代碼如下:
        window.onresize = debounce( function(){
        alert( 'hello world');
        }, 100, true)

        // 在自動補齊中為了減少請求服務器次數也會用到 debounce, 只有連續敲鍵間隔大于某個值才會發送 ajax

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

        文檔

        window.onresize多次觸發的解決方法_javascript技巧

        window.onresize多次觸發的解決方法_javascript技巧:之前做一個擴展,需要在改變窗口大小的時候保證頁面顯示正常,于是用了 window.onresize 但是發現每次 onresize 后頁面中狀態總是不對,后來查找出來原來是 onresize 事件觸發了多次找成的,于是網上搜集了下解決辦法,整理一下。 // 關于 onresi
        推薦度:
        標簽: 方法 多次 js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 成人免费av一区二区三区| 亚洲av无码一区二区三区天堂| 国产99视频精品免费视频76| 国产免费无遮挡精品视频| 国产精品自拍亚洲| 亚洲国产av一区二区三区| xxxxxx日本处大片免费看| 亚洲一级特黄无码片| 一区二区三区在线免费| 亚洲综合图色40p| 久久久精品免费视频| 亚洲精品一区二区三区四区乱码| 蜜桃成人无码区免费视频网站| 久久久亚洲AV波多野结衣| 无码一区二区三区AV免费| 亚洲av日韩专区在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 麻豆一区二区免费播放网站| 精品久久久久久亚洲精品| 国产高清免费观看| 日本一区二区在线免费观看 | 亚洲av伊人久久综合密臀性色| 中文字幕天天躁日日躁狠狠躁免费| 亚洲人成片在线观看| 免费国内精品久久久久影院| 国产黄在线播放免费观看| 亚洲AV日韩AV天堂久久| 永久免费毛片在线播放| 人与动性xxxxx免费| 亚洲午夜未满十八勿入| 女人让男人免费桶爽30分钟| a一级毛片免费高清在线| 亚洲精品免费视频| 在线不卡免费视频| 另类免费视频一区二区在线观看| 亚洲乱人伦精品图片| 亚洲精品无码久久久久AV麻豆| 久草免费福利资源站| 亚洲精品成a人在线观看☆| 亚洲精品无码不卡在线播HE| 成人免费午夜在线观看|