当前位置:首页 > 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实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…