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

Window对象

devicePixelRatio: 返回当前显示设备物理像素分辨率与CSS像素分辨率比值。 document: 返回指向document对象引用。...resizeTo(): 把open创建窗口大小调整到指定宽度和高度。 scroll(): 滚动窗口至文档中特定位置。 scrollBy(): 在窗口中按指定偏移量滚动文档。...scrollTo(): 把内容滚动到指定坐标。 setInterval(): 按照指定周期来调用函数或计算表达式。 setTimeout(): 指定毫秒数后调用函数或计算表达式。...oncontextmenu: 点击鼠标右键打开上下文菜单时触发。 onmousedown: 鼠标按钮被按下时触发。 onmousemove: 当移动鼠标时触发。...onmouseout: 鼠标移出窗口时触发。 onmouseover: 鼠标移动到窗口时触发。 onauxclick: 指示输入设备按下非主按钮时触发,例如鼠标中键。

2.4K20

移动端web开发笔记

font-size: 32px } } 3、移动端touch事件(区分webkit 和 winphone) 当用户手指放在移动设备屏幕滑动会触发touch事件 以下支持webkit 以下支持...不管当前有多少只手指 touchmove——当手指在屏幕滑动时连续触发。...通常我们再滑屏页面,会调用eventpreventDefault()可以阻止默认情况发生:阻止页面滚动 touchend——当手指离开屏幕触发 touchcancel——系统停止跟踪触摸时候会触发...例如在触摸过程中突然页面alert()一个提示框,此时会触发该事件,这个事件比较少用 4、移动端click屏幕产生200-300 ms延迟响应 移动设备web网页是有300ms延迟,玩玩会造成按钮点击延迟甚至是点击失效...retina:一种具备超高像素密度液晶屏,同样大小屏幕显示像素点由1个变为多个,如在同样带下屏幕,苹果设备retina显示屏中,像素点1个变为4个 高清显示屏中位图被放大,图片会变得模糊

3.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

深度剖析浏览器渲染性能原理,你到底知道多少

Layout(布局):计算每个DOM元素最终屏幕显示大小和位置。由于web页面的元素布局是相对,所以其中任意一个元素位置发生变化,都会联动引起其他元素发生变化,这个过程叫reflow。...Paint(绘制):多个层绘制DOM元素文字、颜色、图像、边框和阴影等。 Composite(渲染层合并):按照合理顺序合并图层然后显示到屏幕。...优化 JavaScript 执行效率 降低样式计算范围和复杂度 避免大规模、复杂布局 简化绘制复杂度、减少绘制区域 优先使用渲染层合并属性、控制层数量 对用户输入事件处理函数去抖动(移动设备)...提升移动或渐变元素绘制层 绘制并非总是在内存中单层画面里完成,实际,浏览器必要时会将一帧画面绘制成多层画面,然后将这若干层画面合并成一张图片显示到屏幕。...对用户输入事件处理函数去抖动(移动设备),具体可以做什么? 用户输入事件处理函数会在运行时阻塞帧渲染,并且会导致额外布局发生。

1.3K20

第123天:移动web开发中常见问题

当用户手指放在移动设备屏幕滑动会触发touch事件: 以下支持webkit: touchstart——当手指触碰屏幕时候发生。不管当前有多少只手指。...touchmove——当手指在屏幕滑动时连续触发。通常我们再滑屏页面,会调用event``preventDefault()可以阻止默认情况发生:阻止页面滚动。...通常我们再滑屏页面,会调用csshtml{-ms-touch-action:none;}可以阻止默认情况发生:阻止页面滚动。 MSPointerUp——当手指离开屏幕触发。...5、如何解决移动端click屏幕产生200-300ms延迟响应问题? 移动设备web网页是有300ms延迟,往往会造成按钮点击延迟甚至是点击失效。...retina:一种具备超高像素密度液晶屏,同样大小屏幕显示像素点由1个变为多个,如在同样带下屏幕,苹果设备retina显示屏中,像素点1个变为4个。

1.5K20

浏览器层面优化前端性能(2):Reader引擎线程与模块分析优化点

(Render tree),布局Render树 - 然后对渲染树每个节点进行布局处理,确定其屏幕显示位置绘制Render树 - 最后遍历渲染树并用UI后端层将每一个节点绘制出来DOM树与Render...避免强制同步布局事件发生将一帧画面渲染到屏幕处理顺序如下所示: JavaScript脚本运行时候,它能获取到元素样式属性值都是一帧画面的,都是旧值。...实际,浏览器必要时将会把一帧画面绘制成多层画面,然后将这若干层画面合并成一张图片显示到屏幕。...比如,你页面顶部有一个固定位置header,而此时屏幕底部有某个区域正在发生绘制的话,整个屏幕都将会被绘制。 注意:DPI较高屏幕,固定定位元素会自动地被提升到一个它自有的渲染层中。...,它们会阻塞页面的滚动避免输入事件处理函数中修改样式属性对输入事件处理函数去抖动,存储事件对象值,然后requestAnimationFrame 回调函数中修改样式属性具体参看《Debounce

1.2K20

2016.06 第三周 群问题分享

移动端有哪些touch事件 2016.06.20~2016.06.24 核心内容 touch事件 参考答案 当用户手指放在移动设备屏幕滑动会触发touch事件; 以下支持webkit内核浏览器...不管当前有多少只手指 touchmove——当手指在屏幕滑动时连续触发。...通常我们为了防止页面的滚动,会调用eventpreventDefault()可以阻止默认事件发生,达到阻止页面滚动效果 touchend——当手指离开屏幕触发 touchcancel——系统停止跟踪触摸时会触发...不管当前有多少只手指 MSPointerMove——当手指在屏幕滑动时连续触发。...通常我们再滑屏页面,会调用csshtml{-ms-touch-action: none;}可以阻止默认情况发生:阻止页面滚动 MSPointerUp——当手指离开屏幕触发 如何用jQuery实现两个

96690

浏览器渲染原理及流程

根据DOM树与CSSOM树生成另外一棵用于渲染树-渲染树(Render tree), 布局Render树 - 然后对渲染树每个节点进行布局处理,确定其屏幕显示位置 绘制Render树 - 最后遍历渲染树并用...可以csstrigger查找某个css属性会触发什么事件。...实际使用时,可以遵循下面两个原则: CSS 优先:引入顺序CSS 资源先于 JavaScript 资源。 JavaScript 应尽量少影响 DOM 构建。...提升移动或渐变元素绘制层 绘制并非总是在内存中单层画面里完成,实际,浏览器必要时会将一帧画面绘制成多层画面,然后将这若干层画面合并成一张图片显示到屏幕。...4.6 对用户输入事件处理函数去抖动(移动设备) 用户输入事件处理函数会在运行时阻塞帧渲染,并且会导致额外布局发生。 1.

4.5K32

手撸移动端轮播图(内含源码)

移动轮播图 移动端轮播图与PC段轮播图,技术选择是有区别的,因为移动浏览器版本非常好,对于H5和CSS3支持非常完美,所以很多效果可以CSS3方式实现,比如可以使用 Transorm 属性替代原来动画函数...可以自动播放图片 手指可以拖动播放轮播图 添加指示器,但只起到指示作用,点击不能切换图片 不需要左右导航 因为移动端轮播图宽度一般与屏幕一样宽,所以focus不设置宽度 移动端使用CSS3方式进行图片切换...可对 CSS 属性、 SVG、 DOM 和JavaScript 对象进行动画。 下面我们轮播图实现就是基于这个js插件(可以访问官网下载插件) 代码: <!...,手指离开屏幕继续开启自动轮播 2)实现轮播图(focus_img)随着手指移动移动 3)手指离开屏幕后,判断用户手指移动距离,根据距离判断是切换轮播图还是回弹轮播图...:如何判断: 只要用户移动手指就会触发touchmove事件,如果用户没有移动手指,不会触发这个事件 */ // 声明变量,存储手指按下时位置

1.2K00

中高级前端必须注意40条移动端H5坑位指南 | 网易三年实践

.elem { overscroll-behavior: contain; } 禁止屏幕抖动 对于一些突然出现滚动页面,可能会产生左右抖动不良影响。...一个滚动容器里,打开弹窗就隐藏滚动条,关闭弹窗就显示滚动条,来回操作会让屏幕抖动起来。提前声明滚动容器padding-right为滚动条宽度,就能有效消除这个不良影响。...* { -webkit-tap-highlight-color: transparent; } 禁止动画闪屏 移动设备添加动画,多数情况会出现闪屏,给动画元素父元素构造一个3D环境就能让动画稳定运行了...import Fastclick from "fastclick"; FastClick.attach(document.body); 禁止滑动穿透 移动端浏览器里出现弹窗时,若在屏幕滑动能触发弹窗底下内容跟着滚动...该解决方案视觉无任何变化,完爆其他解决方案,其实就是一种反向思维和障眼法。该解决方案完美解决固定弹窗和滚动弹窗对全局滚动影响,当然也可用于局部滚动容器里,因此很值得推广。

4.2K21

JS中touch事件与canvas绘图

不管有多少个手指放在了屏幕,只要再触摸一下屏幕就会触发 touchmove:当手指在屏幕滑动时候触发该是事件,在这期间可以通过event.preventDefault()来阻止滚动 touchend...:手指从屏幕中移开时候触发 touchcancel:当系统停止跟踪触摸时触发(例如:创建了太多触控点) 例如 this.canvas.addEventListener("touchstart", this...哪怕触点移动过程中, 触点位置已经离开了这个元素有效交互区域, 或者这个元素已经被从文档中移除....devicePixelRatio属性 该 Window 属性 devicePixelRatio 能够返回当前显示设备物理像素分辨率与 CSS 像素分辨率比率。...devicePixelRatio属性示例 一个 canvas 视网膜屏幕可能显得太模糊。

7.3K41

📚一站式解决:H5开发全攻略,看这篇让你省时又省力

通过使用CSS媒体查询中orientation选择器,您可以监听屏幕旋转事件,并根据屏幕方向调整样式,以便页面始终保持最佳布局。...webkit-tap-highlight-color: transparent; } ⭐️⭐️禁止动画闪屏 通过使用perspective、backface-visibility和transform-style属性,可以解决移动设备动画闪屏问题...原因 这是因为移动设备物理像素密度与 CSS 像素比例(设备像素比)导致。 解决方案 利用伪元素和 scale 来实现 0.5px 效果。...导致初始化微信 SDK 时传入分享 url 和用户实际触发分享操作时页面的 url 不一致,致使 iOS 分享失败。...滚动穿透可能会对用户体验产生负面影响,因为用户可能意外地滚动到不相关内容。

40820

面试题整理|45个CSS面试题

Web,使用HSL功能符号表示HSL颜色。HSL()CSS函数在用法与RGB()函数非常相似。 Q12、CSS盒模型 所有 HTML 元素都可以视为方框。...设备像素”,而这种像素长度和你显示器看到文字屏幕像素无关。...使网站具有响应能力意味着某些元素将通过CSS媒体查询根据设备屏幕尺寸(通常是视口宽度)来调整其大小或其他功能,从而做出响应。 例如,较小设备减小字体大小。...font-size: 24px; ​ } ​ } 移动优先策略具有两个主要优点: 1、由于不必针对任何媒体查询验证适用于它们所有规则,因此移动设备性能更高 2、它会强制针对响应式CSS规则编写更简洁代码...这些元素不会影响其他元素位置。 固定 fixed 将元素从页面流中移除,并将其放置相对于视口指定位置,并且滚动时不会移动。 粘性sticky 粘性定位是相对定位和固定定位混合。

4.1K30

第134天:移动web开发一些总结(二)

关于响应式设计思考: 根据响应式设计理念,一个页面包含所有设备不同屏幕样式和图片,当一个移动设备访问一个响应式页面,就会下载pc,笔记本,ipad等不同设备对应样式。...自定义tao事件原理: touchstart、touchend记录时间、手指位置touchend时进行比较,如果手指位置为同一位置(或允许移动一个非常小位移值)且时间间隔较短(一般认为是200ms...),且过程中未曾触发过touchmove,即可认为触发了手持设备“click”,一般称它为“tap”。...touchstart:手指触摸屏幕触发(已经有手指放屏幕不会出发) touchmove:手指在屏幕滑动,连续触发 touchend:手指离开屏幕触发 touchcancel:系统取消touch时候触发...在手机上和平板设备版本,是创建移动web app框架。

1.8K10

移动开发实用

:1080px) { html { font-size: 32px } } 移动端touch事件(区分webkit 和 winphone) 当用户手指放在移动设备屏幕滑动会触发...通常我们再滑屏页面,会调用eventpreventDefault()可以阻止默认情况发生:阻止页面滚动 touchend 当手指离开屏幕触发 touchcancel 系统停止跟踪触摸时候会触发。...通常我们再滑屏页面,会调用csshtml{-ms-touch-action: none;}可以阻止默认情况发生:阻止页面滚动MSPointerUp——当手指离开屏幕触发 移动端click屏幕产生...什么是Retina 显示屏,带来了什么问题 retina:一种具备超高像素密度液晶屏,同样大小屏幕显示像素点由1个变为多个,如在同样带下屏幕,苹果设备retina显示屏中,像素点1个变为4...,但是移动设备中并没有鼠标指针,使用csshover并不能满足我们需求,还好国外有个激活cssactive效果,代码如下, <!

6.4K30

手势魅力-设置一个触摸菜单

源码,复制该标题后台回复[手势魅力-设置一个触摸菜单]就可以了,我对js,css代码也做了一些简要注释,其实看到命名,j结合文章内容,就应该很容易理解各个变量是什么意思了 所有你需要了解JavaScript...触摸属性列出当前屏幕所有手指: PageX:返回手指放置DOM中x坐标。从左边开始计算,如果适用,则考虑水平滚动 PageY:返回手指放置DOM中y坐标。...这有什么好处呢 浏览器将尝试匹配显示刷新,以允许流畅动画 非活动选项卡中动画将停止CPU花费更少) 它不会耗尽你电池寿命 拖动,点击和滑动:额外东西要考虑移动触摸手势 这些事件需要能够检测和区分拖拽...这取决于用户拖动了多少以及手指在屏幕速度 你不知道你想知道关于 - 是超级重要部分 我知道你想要了解移动触摸手势有趣部分,但是我必须先介绍这一点,因为它会影响到你代码。...isMoving = false; var menuWidth = 0; var lastX = 0; var lastY = 0; var moveX = 0; // 屏幕哪个位置是当前菜单

1.8K40

移动端H5坑位指南

笔者通常将rem布局比例设置成1rem=100px,即在设计图上100px长度CSS代码使用1rem表示。....elem { overscroll-behavior: contain; } 禁止屏幕抖动 对于一些突然出现滚动页面,可能会产生左右抖动不良影响。...一个滚动容器里,打开弹窗就隐藏滚动条,关闭弹窗就显示滚动条,来回操作会让屏幕抖动起来。提前声明滚动容器padding-right为滚动条宽度,就能有效消除这个不良影响。...import Fastclick from "fastclick"; FastClick.attach(document.body) 禁止滑动穿透 移动端浏览器里出现弹窗时,若在屏幕滑动能触发弹窗底下内容跟着滚动...该解决方案视觉无任何变化,完爆其他解决方案,其实就是一种反向思维和障眼法。该解决方案完美解决固定弹窗和滚动弹窗对全局滚动影响,当然也可用于局部滚动容器里,因此很值得推广。

3.4K10

前端高性能滚动 scroll 及页面渲染优化

Layout:布局,一步确定了每个 DOM 元素样式规则,这一步就是具体计算每个 DOM 元素最终屏幕显示大小和位置。...每个层完成绘制过程之后,浏览器会将所有层按照合理顺序合并成一个图层,然后显示屏幕。对于有位置重叠元素页面,这个过程尤其重要,因为一旦图层合并顺序出错,将会导致元素显示异常。...显然,如果当你滚动时,像视差网站(戳我看看)这样有东西移动时,有可能在多层导致大面积内容调整,这会导致大量绘制工作。...pointer-events: none 可用来提高滚动帧频。的确,当滚动时,鼠标悬停在某些元素,则触发 hover 效果,然而这些影响通常不被用户注意,并多半导致滚动出现问题。...大概做法就是页面滚动时候, 给 添加上 .disable-hover 样式,那么滚动停止之前, 所有鼠标事件都将被禁止。当滚动结束之后,再移除该属性。

2.5K30

现代前端技术解析:前端三层结构与应用

JavaScript直接实现动画是通过JavaScriptsetInterval或setTimeout方法回调函数来持续调用改变某个元素CSS样式以达到元素样式持续变化结果【会导致页面频繁重排重绘...,而不是马上改变; CSS3 animation可以认为是正真意义CSS3动画,通过对关键帧和循环次数控制【脱离JavaScript控制,能用到硬件加速】; Canvas动画通过JavaScript...屏幕适配布局是为了实现网页内容根据移动设备屏幕大小等比例缩放所提出一种布局计算方式。...(1)zoom属性控制方案 ​ 如果希望320px宽度屏幕显示内容414px宽度屏幕上进行等比例自动放大,可以考虑使用元素CSSzoom属性来解决。...1rem = 屏幕宽度*屏幕分辨率/10这样得到1rem恰好是屏幕宽度10%。 1rem = 屏幕宽度/320*10这样1rem宽度320px屏幕上表示是10px。

1K31

触摸事件 touchstart、touchmove、touchend

触摸结束,手指离开屏幕时 是 touchcancel 触摸被取消,当系统停止跟踪触摸时候触发 否 3、每个触摸事件都包括了三个触摸列表,每个列表里包含了对应一系列触摸点(用来实现多点触控):...}); //手指在屏幕移动触发 $('body').on('touchmove', function (even) {...$('p').css({'color': '#0f0'}); console.log("用户手指在屏幕移动..."); });... 1、如果在 PC 上访问,可以使用 Chrome 浏览器移动响应式设备进行模拟,或者直接在移动设备(如手机)上访问 2、Chrome 浏览器,F12...3、上面是使用 JQuery 写法,推荐使用如下所示 JavaScript 方式,因为获取回调函数 事件对象时,JQuery 方式会有问题,JavaScript 则是没有问题。 <!

1.6K20
领券