1. 程式人生 > 實用技巧 >幾個解決實際問題的ES6程式碼段

幾個解決實際問題的ES6程式碼段

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