幾個解決實際問題的ES6程式碼段
阿新 • • 發佈:2020-11-05
1、如何獲取當前頁面的滾動位置?
const getScrollPosition = (el = window) => ({ x: el.pageXOffset !== undefined ? el.pageXOffset : el.scrollLeft, y: el.pageYOffset !== undefined ? el.pageYOffset : el.scrollTop }); getScrollPosition(); // {x: 0, y: 200}
2、如何平滑滾動到頁面頂部?
const scrollToTop = () => { const c= document.documentElement.scrollTop || document.body.scrollTop; if (c > 0) { window.requestAnimationFrame(scrollToTop); window.scrollTo(0, c - c / 8); } }; scrollToTop();
3、如何分辨裝置是移動裝置還是桌面裝置?
const detectDeviceType = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)? 'Mobile' : 'Desktop'; // Example detectDeviceType(); // "Mobile" or "Desktop"
4、如何將一個字串複製到剪貼簿?
const copyToClipboard = str => { const el = document.createElement('textarea'); el.value = str; el.setAttribute('readonly', ''); el.style.position = 'absolute'; el.style.left= '-9999px'; document.body.appendChild(el); const selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false; el.select(); document.execCommand('copy'); document.body.removeChild(el); if (selected) { document.getSelection().removeAllRanges(); document.getSelection().addRange(selected); } }; // Example copyToClipboard('Lorem ipsum'); // 'Lorem ipsum' copied to clipboard.
完結
2020-11-05 15:57:59