blog

Vue Mobileカスタム・ドロップダウン更新イベント+アンチシェイク

呼び出す...

Jul 31, 2020 · 1 min. read
シェア
/** * 手ブレ防止機能 */ export function debounce(fn, delay) { // 最後のディレイヤーを記録する var timer = null; var delay = delay || 200; return function () { var args = arguments; var that = this; // 最後のディレイヤーをクリアする clearTimeout(timer) timer = setTimeout(function () { fn.apply(that, args) }, delay); } } /** * @desc ドロップダウン更新 * @param {string} el * @param {function} callback * @param {number} bottomheight * */ export const DropDownRefresh = (el, callback, bottomheight = 20) => { let ele = document.querySelector(el) function getScrollTop() { let scrollTop = ele.scrollTop; return scrollTop; } //視覚的範囲の高さを取得する function getClientHeight() { var clientHeight = ele.clientHeight; return clientHeight; } //ドキュメントの高さを取得する function getScrollHeight() { var eleHeight = ele.scrollHeight; return eleHeight; } ele.onscroll = debounce(() => { getScrollTop(); getClientHeight(); getScrollHeight(); if (getScrollTop() + getClientHeight() > getScrollHeight() - bottomheight ) { callback() } }, 300) }

呼び出す

created() { //マウント・イベント this.$on("hook:mounted", () => { untils.DropDownRefresh(".content", () => { console.log('リフレッシュ') }); }); //破棄イベント this.$on("hook:destroyed", () => { document.querySelector(".content").onscroll = null; }); }
Read next

CSSを梳くテキストは、知識のポイントを知っている必要がある

一般的に、ページは上から下へ読み込まれます。スタイルを最初に読み込むために、styleタグをbodyに記述します。 本文タグの後に書かれている場合、ブラウザの html 文書の解析の行ごとの方法によるもので、解析時にスタイル シートで書かれた文書の最後に書き込むと、ブラウザのレンダリングが停止し、スタイル シートの読み込みと解析が完了するのを待って、再レンダリングが行われます。

Jul 31, 2020 · 27 min read