当前位置: 首页> 健康> 科研 > 大屏自适应解决方案(手写js)

大屏自适应解决方案(手写js)

时间:2025/7/9 10:46:32来源:https://blog.csdn.net/weixin_72439307/article/details/141828805 浏览次数:0次

一、插件v-scale-screen

地址前端可视化大屏适配方案_前端大屏适配方案 vw vh 适配方案,当浏览器窗口变动时 实时适配-CSDN博客

二、

使用方法

<div id="app"></div>
<script type="module" src="/src/main.ts">
import { autoScale } from './autoScale.js'
autoScale('#app', {width: 1920,height: 1080
})</script>

autoScale.js

function debounce(fn, delay) {
let timer
return function () {
clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, arguments);
}, delay);
};
}export function autoScale(selector,options) {
const el = document.querySelector(selector);
const {width,height} = options; el.style.transformOrigin = "top left";
el.style.transition = "transform 0.5s"
function init(){
const scaleX = innerWidth / width
const scaleY = innerHeight / height
const scale = Math.min(scaleX, scaleY);const left = (innerWidth - width * scale) / 2
const top = (innerHeight - height * scale) / 2
el.style.transform = ` translate(${left}px,${top}px) scale(${scale})`
}
init()
addEventListener("resize", debounce(init,200))
}

关键字:大屏自适应解决方案(手写js)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: