摘要:
网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它。 它的用法非常简单(ios有兼容问题)。 var io = new IntersectionObserver(callback, option);上面代码中,IntersectionObserver是浏览器原 阅读全文
摘要:
给需要删除的span添加contenteditable=false 这样可以整块删除 再次输入不会出现<font>标签 开始: 结果: 阅读全文
摘要:
Retina 屏下,无法很好的展示真正的 1px 物理像素线条 设计师想要的 retina 下 border: 1px,其实是 1 物理像素宽,而不是 1 CSS 像素宽度,对于 CSS 而言: 1. 在 dpr = 1 时,此时 1 物理像素等于 1 CSS 像素宽度; 2. 在 dpr = 2 阅读全文
摘要:
还原设计稿,也就是如何适配移动端繁杂的屏幕大小。 通常而言,设计师只会给出单一分辨率下的设计稿,而我们要做的,就是以这个设计稿为基准,去适配所有不同大小的移动端设备。 在此之前,有一些基础概念需要理解。 设备独立像素 以 iPhone6/7/8为例,这里我们打开 Chrome 开发者工具: 这里的 阅读全文
摘要:
在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会存在问题,但早上测试的同学提出了一个bug。 在安卓某个测试手机(OPPO)的微信自带浏览器中,这个是失效的,并没有刷新。 查看了reload文档 reload() 解决方法:(无效) wi 阅读全文
摘要:
考验对JS运行机制 和 作用域的了解。 如下两个示例: (1) for (var a = 0;a<5;a++) { setTimeout(function () { console.log(new Date, a) // a是取全局作用域,for循环已经执行完成a=5 }, 1000) } cons 阅读全文
摘要:
js和其他语言一样,都要经历编译和执行阶段。 而js在编译阶段的时候,会搜集所有的变量声明并且提前声明变量,而其他的语句都不会改变他们的顺序,因此,在编译阶段的时候,第一步就已经执行了,而第二步则是在执行阶段执行到该语句的时候才执行。 1. 变量提升 console.log(variable); v 阅读全文
摘要:
for..of是ES6中引入的新特性,它主要的作用是:循环一个可迭代的对象。 它可以循环遍历,数组、字符串、Set对象等等 示例一: let str = 'hello' for (item of str) { console.log(item) // h e l l 0 依次打印 } 示例二: le 阅读全文