女王控的博客

JS

26 篇文章

使用canvas在前端实现图片水印合成

图片合成最常见的需求有验证码图片,亦或者图片加水印等,这种实现一般都是后端实现的。 随着HTML5发展和现代浏览器的占比越来越高,我们其实也可以在前端直接进行图片的合成。优点在于,响应更快,体验更好;如果是和文字进行合成,我们可以利用客户端字体,视觉展现效果更丰富;同时展示和合成全部都是前端完成,因此更利于维护。 这里通过举个例子,演示如何在前端实现多个图片合成的效果,主要是借助HTML5 canvas相关技术。 使用canvas… »

js页面文字选中后分享到新浪微博实现

功能简述 一般翻译软件都有划词翻译功能,例如有道桌面词典的桌面划词翻译功能: 在web页面上,我们也是可以实现类似的效果的:划词→显示提示→分享。这就是本文要展示的内容。 效果与demo 结语及补充 其实呢,此方法不仅支持新浪微博,支持企鹅微博(腾讯微博),狐狸微博(搜狐微博),也是可以的,只要根据各个微博分享页面的API地址,将window.open()中的地址换换就可以了。 »

Page Visibility(页面可见性) API介绍

API 目前页面可见性API有两个属性,一个事件,如下: document.hidden: Boolean值,表示当前页面可见还是不可见 document.visibilityState: 返回当前页面的可见状态 hidden visible prerender preview visibilitychange… »

RequestAnimationFrame的作用

原理 浏览器(如页面)每次要洗澡(重绘),就会通知我(requestAnimationFrame),而setTimeout貌似是多个独立绘制。 作用 统一的向下兼容策略 CSS3实现动画即高效又方便,但是对于PC浏览器,IE10+ CSS3实现,IE9-之流JS setTimeout实现,实现方式也是不统一,但是requestAnimationFrame跟setTimeout非常类似,都是单回调 为了统一代码,需要对IE9-的浏览器做下兼容性处理 简单的兼容(IE… »

JS练手测试

JS测试一 具体实现 我的解答 最佳解答 实现要点 空数组项也会作为length的一部分;空数组项和空字符串项是有区别的。 第2题,本题只是过滤空数组项,不包括null, undefined这类。 去除空数组项两个比较好的回答: 数组中的 empty 元素不会参与数组项遍历,故只需返回 true 即可过滤掉 empty 元素(而不会牵连 0、NaN、null、undefined、” 这些)arr.filter(it => true)。然后补充,但是走for循环,还是会遍历empty… »

0%