首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js获取网页屏幕可视区域高度

document.documentElement.clientHeight ==> 可见区域高度 看了以上代码,可能会有疑问说body和可见区域到底有什么不同呢,我们在console里运行一下会发现在不同网页中有不同情况值...原因就是:在浏览器默认情况下,body有8-10px左右边距,而可见区域包括了这个边距,因此如果我们用到body{padding:0;margin:0;}来消除这种默认情况。...以下是兼容主流浏览器(IE/Firefox/Chrome/Safari)获取浏览器窗口可视区域(不包括滚动条)和滚动条位置代码: ? ?...1 // 获取浏览器窗口可视区宽度 2 function getViewPortWidth() { 3 return document.documentElement.clientWidth...|| document.body.clientWidth; 4 } 5 6 // 获取浏览器窗口可视区高度 7 function getViewPortHeight() { 8

9.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js获取页面宽

    网页可见区域宽:document.body.clientWidth 网页可见区域:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth...(包括边线宽) 网页可见区域:document.body.offsetHeight(包括边线宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文:document.body.scrollHeight...网页被卷去:document.body.scrollTop(IE7无效) 网页被卷去左:document.body.scrollLeft(IE7无效) 网页被卷去:document.documentElement.scrollTop...屏幕分辨率:window.screen.height 屏幕分辨率宽:window.screen.width 屏幕可用工作区高度:window.screen.availHeight 屏幕可用工作区宽度...:window.screen.availWidth 相对于窗口左上角X:window.event.clientX 相对于窗口左上角Y:window.event.clientY 相对于整个页面的X:window.event.X

    7.7K40

    JS获取图片原始宽

    最近在给博客相册模块做优化,需要知道图片原始大小,我以前做法是把图片真实宽高分别放在data-width和data-height中,效果是达到了,但是总觉得扩展性很低,当不知道图片大小时,还要一张一张图片去查看图片信息手动输入图片大小...,很繁琐 获取图片大小: 1.使用innerWidth,innerHeight 使用HTMLImageElement.innerWidth 是可以拿到图片宽度 但是需要注意是这里拿到宽度是图像在CSS...像素中渲染宽度 也就是说如果图片原始大小1200,使用css或者width属性设置为600,那么这里拿到宽度为600,显然用innerWidth获取图片原始尺寸是不靠谱 2.使用document.createElement...document.createElement("img") img.src = "1.jpg" var width = img.width 动态创建一个imgElement,通过给src赋值,最终来获取img宽和...需要注意是在给imgsrc赋值时,这是一个异步过程,会存在获取img宽度时值为0(图片还未加载完成),可以在给img赋值之前加上onload事件 var img = document.createElement

    6.3K20

    js获取屏幕以及元素宽方法

    一.window相关 网页正文部分上:window.screenTop 网页正文部分左:window.screenLeft 屏幕分辨率:window.screen.height 屏幕分辨率宽:...window.screen.availHeight 屏幕可用工作区宽度:window.screen.availWidth 二.body相关 网页可见区域宽:document.body.clientWidth 网页可见区域:...document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线宽) 网页可见区域:document.body.offsetHeight...(包括边线宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文:document.body.scrollHeight 网页被卷去:document.body.scrollTop...相对容器水平坐标 event.offsetY 相对容器垂直坐标 六.width/clientWidth/offsetWidth以及height之间区别 width是指可见内容宽 height是指可见内容

    6.8K20

    js获取各种距离和宽

    window.scrollY 浏览器滚动掉Y距离 document 可视区域 document.documentElement.offsetHeight(不包括外边距) document.documentElement.clientHeight...浏览器滚动掉Y距离 鼠标event事件 属性 说明 offsetX 以当前元素左上角为原点, 距离元素顶部距离 offsetY 以当前元素左上角为原点, 距离元素左侧距离 clientX...以计算机显示屏屏幕左上角为原点, 距离屏幕左侧距离 元素及各种距离 宽 属性 说明 clientHeight/clientWidth 包括元素可视部分高度/宽度包括width/height...'px', 为字符串类型) 距离 属性 说明 offsetTop/Left 元素距离最近带有定位(fixed/relative/absolute)父元素顶部/左侧距离 scrollTop/Left...此属性可以获取或者设置对象最顶部到对象在当前窗口显示范围内顶边/左侧距离,也就是元素滚动条被向下/向右拉动距离。

    22110

    Node.js支持并发原理

    node是单线程,为什么支持并发呢? 每个Node.js进程只有一个主线程在执行程序代码,形成一个执行栈(execution context stack)。...当用户网络请求或者其它异步操作到来时,node都会把它放到Event Queue之中,此时并不会立即执行它,代码也不会被阻塞,继续往下走,直到主线程代码执行完毕。...主线程代码执行完毕完成后,然后通过Event Loop,也就是事件循环机制,开始到Event Queue开头取出第一个事件,从线程池中分配一个线程去执行这个事件,接下来继续取出第二个事件,再从线程池中分配一个线程去执行...主线程不断检查事件队列中是否有未执行事件,直到事件队列中所有事件都执行完了,此后每当有新事件加入到事件队列中,都会通知主线程按顺序取出交EventLoop处理。...nodejs之所以单线程可以处理并发原因,在于libuv层事件循环机制,和底层线程池实现。 在事件循环机制上,新版本Node和浏览器类似

    97540

    德地图js api教程_德地图sdk使用教程

    百度API浏览器定位 德API浏览器定位 然后换用德去测试,德开放API精确度和百度地图是一样,小伙伴可以亲自去体验下,难怪百度如今沦落到这样。。。...所以就决定使用德API来进行定位了; 主要思路:利用德API获取当前位置经纬度、设置考勤点经纬度、计算两点距离判断是否在考勤范围内。...JS API提供浏览器定位接口,融合了HTML5 Geolocation定位接口、精确IP定位服务,以及安卓定位sdk定位。所以在定位上大大提高了精准度以及成功率。...在页面添加 JS API 入口脚本标签,并将其中「您申请key值」替换为您刚刚申请 key; HTML <script type="text/javascript" src="https://webapi.amap.com...如果您在使用过程中定位失败,可以参考FAQ:Geolocation<em>的</em>定位流程以及定位失败<em>的</em>原因 ,将失败信息通过工单发送给我们,<em>高</em>德<em>的</em>工程师将协助您解决问题。

    4.4K20

    js 获取屏幕各种宽方法(浏览器兼容)

    屏幕有效宽: window.screen.availHeight window.screen.availWidth 网页可见区域宽:document.body.clientWidth  网页可见区域...:document.body.clientHeight  网页可见区域宽:document.body.offsetWidth (包括边线宽)  网页可见区域:document.body.offsetHeight...(包括边线宽)  网页正文全文宽:document.body.scrollWidth  网页正文全文:document.body.scrollHeight  网页被卷去:document.body.scrollTop...  网页被卷去左:document.body.scrollLeft  网页正文部分上:window.screenTop  网页正文部分左:window.screenLeft  屏幕分辨率:window.screen.height...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离  scrollTop:设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离  scrollWidth:获取对象滚动宽度

    3.5K100

    如何优雅地编写一个逼格JS插件?

    领导拍了拍我肩膀:你上次封装方法同事跟我反馈使用起来很不错啊,你不如做成JS插件给大家用吧。我放下了手中马克杯,甩了一下眼前仅剩几根刘海:没问题啊,小Case!随即开始摸鱼.......原型链写法 要开始编写插件就得先了解JS模块化,早期模块化是利用了函数自执行来实现,在单独函数作用域中执行代码可以避免插件中定义变量污染到全局变量,举个栗子,以下代码实现了一个简单随机数生成插件...-- 页面元素 --> hello world 为元素设置背景: _$('#app').setBg('#ff0') 图片 为元素设置背景并改变宽: _$('#app...Rollup: npm install --save-dev rollup 根目录下创建入口文件 index.js,以及 src下main.js用于等下测试: // index.js import...补充:模块化发展 早期利用函数自执行实现,在单独函数作用域中执行代码(如 JQuery ) AMD:引入 require.js 编写模块化,引用依赖必须提前声明 CMD:引入 sea.js 编写模块化

    1.1K10

    「前端进阶」高性能渲染十万条数据(虚拟列表)

    简单说明一下,为何两次 console.log结果时间差异巨大,并且是如何简单来统计 JS运行时间和 总渲染时间: 在 JS EventLoop中,当JS引擎所管理执行栈中事件以及所有微任务事件全部执行完后...,才会触发渲染线程对页面进行渲染 第一个 console.log触发时间是在页面进行渲染之前,此时得到间隔时间为JS运行所需要时间 第二个 console.log是放到 setTimeout 中...实现 虚拟列表实现,实际上就是在首屏加载时候,只加载 可视区域内需要列表项,当滚动发生时,动态通过计算获得 可视区域内列表项,并将 非可视区域内存在列表项删除。...计算当前 可视区域起始数据索引( startIndex) 计算当前 可视区域结束数据索引( endIndex) 计算当前 可视区数据,并渲染到页面中 计算 startIndex对应数据在整个列表中偏移位置...从演示效果上看,我们实现了基于 文字内容动态撑列表项情况下 虚拟列表,但是我们可能会发现,当滚动过快时,会出现短暂 白屏现象。

    10.4K74

    解决Android软键盘弹出覆盖h5页面输入框问题

    触发条件:输入框获取焦点,弹出软键盘 表现:软键盘 覆盖 h5页面中输入框 问题分析: 1.发现问题:当前页面中box为flex布局,内容为上下固定,中间自适应(中间区域内容过多会出现滚动条,input...框在wrapper底部),input获取焦点,手机键盘弹出,input未上移到可视区内,怀疑是flex布局导致。...wrapper{/*flex:1; */ overflow:auto; width:100%; // 通过同时设置top、bototm,撑开wrapper,使之占屏幕除header和footer外剩余...解决方案: 方案1 页面渲染完成后,通过JS动态获取屏幕可视区高度(注:屏幕旋转后,需重新获取屏幕高度并赋值),并将其赋值到bodyheight,这样body高度一直都是屏幕高度,当软键盘弹出后,...+'px'; 方案2 我们可以借助元素 scrollIntoViewIfNeeded() 方法,这个方法执行后如果当前元素在可视区中不可见,则会滚动浏览器窗口或容器元素,最终让它可见,如果当前元素在可视区

    5.5K30

    实践 | 移动端图片上传旋转、压缩解决方案

    想要获取 Orientation 参数,可以通过 exif.js 库来操作。exif.js 功能很多,体积也很大,未压缩之前足足有 30k,这对手机页面加载来说是非常大影响。...exif.js 获取 Orientation : file 则是 input 文件表单上传文件。...旋转原理如下图: 旋转之后,如果从 ( 0, 0 ) 点进行 drawImage(),那么画出来位置就是在左图中旋转 90 度后位置,不在可视区域呢。...旋转之后,坐标轴也跟着旋转了,想要显示在可视区域呢,需要将 ( 0, 0 ) 点往 y 轴反方向移 y 个单位,此时起始点则为 ( 0, -y )。...现在手机像素这么,拍出来照片宽都有几千像素,用 canvas 来渲染这照片速度会相对比较慢。 因此第一步需要先对上传照片做限制,判断宽度或高度是否超出哪个范围,则等比压缩其宽

    2.1K20
    领券