当前位置:首页 > JavaScript

js实现视口

2026-02-28 20:34:14JavaScript

获取视口尺寸

通过 window.innerWidthwindow.innerHeight 获取当前视口的宽度和高度(包含滚动条):

const viewportWidth = window.innerWidth;
const viewportHeight = window.innerHeight;

若需排除滚动条宽度,使用 document.documentElement.clientWidthclientHeight

js实现视口

const noScrollbarWidth = document.documentElement.clientWidth;
const noScrollbarHeight = document.documentElement.clientHeight;

监听视口变化

通过 resize 事件监听视口尺寸变化,并使用防抖优化性能:

function debounce(fn, delay) {
  let timer;
  return function() {
    clearTimeout(timer);
    timer = setTimeout(() => fn.apply(this, arguments), delay);
  };
}

window.addEventListener('resize', debounce(() => {
  console.log(`New viewport size: ${window.innerWidth}x${window.innerHeight}`);
}, 300));

检测移动设备视口

结合 window.screen.widthwindow.orientation 判断移动设备横竖屏:

js实现视口

const isMobilePortrait = window.innerWidth < window.innerHeight && 
                         window.screen.width < 768;
const isMobileLandscape = window.innerWidth > window.innerHeight && 
                          window.screen.width >= 768;

设置视口 Meta 标签

通过 JavaScript 动态修改 <meta name="viewport"> 内容:

const metaViewport = document.querySelector('meta[name="viewport"]');
metaViewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0');

视口相关 CSS 单位转换

将视口单位(vw/vh)转换为像素值:

function vwToPixels(vw) {
  return (vw * window.innerWidth) / 100;
}
function vhToPixels(vh) {
  return (vh * window.innerHeight) / 100;
}

标签: js
分享给朋友:

相关文章

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…