遊戲陪玩原始碼的移動端適配,應該如何實現?
export default function(win, px) { var remCalc = {}; var docEl = win.document.documentElement, tid; function refreshRem() { // 獲取當前視窗的寬度 var width = docEl.getBoundingClientRect().width; // 大於1242px 按1242算 if (width > px) { width = px; } // 適配摺疊屏 if (width > 540) { width = 540; } var rem = (width / px) * 100; // cms 只要把這行改成 var rem = width /1242 * 100 docEl.style.fontSize = rem + 'px'; remCalc.rem = rem; //誤差、相容性處理 var actualSize = parseFloat(window.getComputedStyle(document.documentElement)['font-size']); if (actualSize !== rem && actualSize > 0 && Math.abs(actualSize - rem) > 1) { var remScaled = (rem * rem) / actualSize; docEl.style.fontSize = remScaled + 'px'; } } //函式節流,避免頻繁更新 function dbcRefresh() { clearTimeout(tid); tid = setTimeout(refreshRem, 100); } //視窗更新動態改變font-size win.addEventListener( 'resize', function() { dbcRefresh(); }, false ); //頁面顯示的時候再計算一次 難道切換視窗之後再切換來視窗大小會變?.... win.addEventListener( 'pageshow', function(e) { if (e.persisted) { dbcRefresh(); } }, false ); refreshRem(); remCalc.refreshRem = refreshRem; remCalc.rem2px = function(d) { var val = parseFloat(d) * this.rem; if (typeof d === 'string' && d.match(/rem$/)) { val += 'px'; } return val; }; remCalc.px2rem = function(d) { var val = parseFloat(d) / this.rem; if (typeof d === 'string' && d.match(/px$/)) { val += 'rem'; } return val; }; win.remCalc = remCalc;}
// 引入remimport rem from './js/public';rem(window, 1242);
let win = window;let px = 1242;var remCalc = {};var docEl = win.document.documentElement, tid;function refreshRem() { // 獲取當前視窗的寬度 var width = docEl.getBoundingClientRect().width; // 大於1242px 按1242算 if (width > px) { width = px; } // // 適配摺疊屏 // if (width > 540) { // width = 540; // } var rem = (width / px) * 100; // cms 只要把這行改成 var rem = width /1242 * 100 docEl.style.fontSize = rem + 'px'; remCalc.rem = rem; //誤差、相容性處理 var actualSize = parseFloat(window.getComputedStyle(document.documentElement)['font-size']); if (actualSize !== rem && actualSize > 0 && Math.abs(actualSize - rem) > 1) { var remScaled = (rem * rem) / actualSize; docEl.style.fontSize = remScaled + 'px'; }}//函式節流,避免頻繁更新function dbcRefresh() { clearTimeout(tid); tid = setTimeout(refreshRem, 100);}//視窗更新動態改變font-sizewin.addEventListener( 'resize', function () { dbcRefresh(); }, false);//頁面顯示的時候再計算一次 難道切換視窗之後再切換來視窗大小會變?....win.addEventListener( 'pageshow', function (e) { if (e.persisted) { dbcRefresh(); } }, false);refreshRem();remCalc.refreshRem = refreshRem;remCalc.rem2px = function (d) { var val = parseFloat(d) * this.rem; if (typeof d === 'string' && d.match(/rem$/)) { val += 'px'; } return val;};remCalc.px2rem = function (d) { var val = parseFloat(d) / this.rem; if (typeof d === 'string' && d.match(/px$/)) { val += 'rem'; } return val;};win.remCalc = remCalc;
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> #box { width: 10rem; height: 10rem; background: red; } </style> <script src="./public.js"></script> </head> <body> <div id="box"></div> </body></html>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2793682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在遊戲陪玩系統原始碼中實現“刮刮樂”效果?遊戲原始碼
- 如何實現遊戲陪玩系統原始碼前端效能監控?遊戲原始碼前端
- 要想實現遊戲陪玩app原始碼的效能測試與調優,應該怎麼做?遊戲APP原始碼
- 移動端適配-實踐篇
- 從比心APP原始碼的成功,分析陪玩系統原始碼應該如何開發APP原始碼
- 如何在遊戲陪玩app原始碼中實現簡訊驗證碼登入?遊戲APP原始碼
- 遊戲陪玩app原始碼開發,常用的倒數計時功能如何實現?遊戲APP原始碼
- viewport移動端適配View
- rem移動端適配REM
- 遊戲陪玩系統原始碼開發,如何實現圖片和動畫的優化?遊戲原始碼動畫優化
- 遊戲陪玩系統實現自適應負載均衡演算法的方式遊戲負載演算法
- 移動端適配-rem(新)REM
- 移動端適配總結
- 用REM單位進行移動端適配的最佳實現REM
- 遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現遊戲原始碼
- 市場新模式下的交友陪玩app原始碼技術要求如何適配使用者體驗?模式APP原始碼
- 移動端的適配及佈局
- 如何使用 Redis 實現 陪玩原始碼中“附近的人” 這一功能?Redis原始碼
- 移動端web自適應適配佈局解決方案Web
- 遊戲陪玩系統原始碼的許可權設計,如何基於位運算實現?遊戲原始碼
- 「移動端」Web頁面適配Web
- Web移動端適配總結Web
- 移動端rem怎樣適配REM
- 遊戲陪玩平臺原始碼開發,依賴收集和觸發的實現遊戲原始碼
- 遊戲陪玩系統原始碼中不同排序演算法的實現方式遊戲原始碼排序演算法
- 如何開發陪玩系統原始碼的列表頁面,相關實現程式碼原始碼
- 如何進行遊戲陪玩系統原始碼中音視訊的自動化測試?遊戲原始碼
- 移動端配適與掌握動態 REMREM
- 移動端適配-Rem 佈局篇REM
- 移動 web 端螢幕適配 – remWebREM
- 移動端適配頁面快速搭建
- 移動端開發適配總結
- postcss-px-to-viewport 移動端適配CSSView
- 遊戲陪玩系統原始碼中懶載入的實現方式有哪幾種?遊戲原始碼
- 如何實現婚戀app原始碼移動端網頁特效?APP原始碼網頁特效
- 我的前端筆記 之 移動端適配前端筆記
- 移動端iphoneX的適配問題iPhone
- 如何在遊戲陪玩系統原始碼中聊天室內實現一個禮物系統?遊戲原始碼