读Zepto源码之属性操作

2017-06-25
阅读 14 分钟
4.7k
如果属性值 value 存在,则调用元素的原生方法 setAttribute 设置对应元素的指定属性值,否则调用 removeAttribute 删除指定的属性。

读 Zepto 源码之样式操作

2017-06-11
阅读 12 分钟
4.4k
这个函数是用来返回一个正则表达式,这个正则表达式是用来匹配元素的 class 名的,匹配的是如 className1 className2 className3 这样的字符串。

读 Zepto 源码之操作 DOM

2017-06-04
阅读 10 分钟
1.8k
这篇依然是跟 dom 相关的方法,侧重点是操作 dom 的方法。 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 .remove() {代码...} 删除当前集合中的元素。 如果父节点存在时,则用父节点的 removeChild 方法来删掉当前的元素。 相似方法生成器 zepto 中 after、 p...

读 Zepto 源码之集合元素查找

2017-05-30
阅读 11 分钟
4k
之前有一章《读Zepto源码之内部方法》是专门解读 zepto 中没有提供给外部使用的内部方法的,但是有几个涉及到 dom 的方法没有解读,这里先将本章用到的方法解读一下。

读Zepto源码之集合操作

2017-05-22
阅读 4 分钟
3.3k
接下来几个篇章,都会解读 zepto 中的跟 dom 相关的方法,也即源码 $.fn 对象中的方法。 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 .forEach() {代码...} 因为 zepto 的 dom 集合是类数组,所以这里只是简单地复制了数组的 forEach 方法。 具体的 forEach ...

读 Zepto 源码之神奇的 $

2017-05-14
阅读 8 分钟
3.4k
经过前面三章的铺垫,这篇终于写到了戏肉。在用 zepto 时,肯定离不开这个神奇的 $ 符号,这篇文章将会看看 zepto 是如何实现 $ 的。

读 zepto 源码之工具函数

2017-04-30
阅读 6 分钟
3.9k
Zepto 提供了丰富的工具函数,下面来一一解读。 源码版本 本文阅读的源码为 zepto1.2.0 $.extend $.extend 方法可以用来扩展目标对象的属性。目标对象的同名属性会被源对象的属性覆盖。 $.extend 其实调用的是内部方法 extend, 所以我们先看看内部方法 extend 的具体实现。 {代码...} extend 的第一个参数 taget 为目标...

读 Zepto 源码之内部方法

2017-04-12
阅读 6 分钟
5.9k
这里用的是数组的 filter 方法,过滤出 item != null 的元素,组成新的数组。这里删除掉 null 很容易理解,为什么还可以删除 undefined 呢?这是因为这里用了 != ,而不是用 !== ,用 != 时, null 各 undefined 都会先转换成 false 再进行比较。

读Zepto源码之代码结构

2017-04-05
阅读 2 分钟
3.5k
虽然最近工作中没有怎么用 zepto ,但是据说 zepto 的源码比较简单,而且网上的资料也比较多,所以我就挑了 zepto 下手,希望能为以后阅读其他框架的源码打下基础吧。

vue-auto-focus: 控制自动聚焦行为的 vue 指令

2017-01-16
阅读 4 分钟
10.4k
在网页的表单中,经常需要用程序来控制input和textarea的自动聚焦行为。例如我最近做的一个项目,有个装箱出库的流程,input框自动聚焦的流程如下:页面进入时自动聚焦到订单号输入框->订单号扫描完毕聚焦到商品条码输入框->扫描完一个商品条码后依然停留在条码输入框->所有条码扫描完毕聚焦到订单号输入框。为...

vue-lazy-render: 延迟渲染大组件,增强页面切换流畅度

2016-12-26
阅读 3 分钟
4.3k
最近用element来做项目,在开发的过程中,突然发现页面的操作和切换在数据量大的时候相当卡,后来提了个issue,在furybean解答后才知道,我每个单元格都加了tooltip,会生成大量的节点,造成页面操作卡顿。后来将tooltip去掉,操作流畅多了。

谷歌插件Image downloader开发之popup

2016-12-12
阅读 4 分钟
3.2k
Image downloader的交互逻辑是这样的:用户点击Image downloader的图标,会向页面(content script,见上一篇文章:谷歌插件Image downloader开发之 content script)发送收集图片事件,页面收集完图片后,将对应的图片地址数组发送给popup页处理。popup页就是点击谷歌插件图标所弹出来的页面。Image downloader的popup页...

谷歌插件Image downloader开发之 content script

2016-12-05
阅读 3 分钟
6.6k
自己运营了一个公众号,在发文章的时候,需要在网上找一些图,而有些网站的图片可能隐藏在属性或者背景图中,要下载的时候经常审查元素,查看源码,不太方便,最近在看一些谷歌插件的api,便顺手做了一个插件Image downloader。源码放到了github上,顺便学习并用了一下git。地址:[链接]

javascript中0.1 + 0.2 != 0.3?

2016-10-23
阅读 3 分钟
4k
0.1+0.2 等于0.3吗?相信拿着这条题目随便问一个高年级的小学生,他们都会毫不犹豫都回答:相等。是的,相等是正常的,这是常识。但是都说实践是检验真理的唯一标准,拿这道简单的算术题用javascript在chrome控制台试验一下:

写javascript时要不要省略分号?

2016-10-17
阅读 2 分钟
2.5k
在打算写这篇文章之前,我是一个分号党,在写这篇文章之后,可能会转为无分号党了。之前是写分号是编辑器语法较检所养成的强迫症,现在观念的转变,是因为看了不少大神的讨论后,觉得javascript语句后写分号除了增大工作量外,意义不大。

用vue+webpack搭建的前端项目结构

2016-09-30
阅读 3 分钟
6.8k
上个项目第一次用到vue+webpack,也是我第一次尝试自动化、模块化的开发方式,总的来说就是结构太烂,开发体验差,效率低,难维护。细数的罪状有如下几条

用vue实现模态框组件

2016-09-22
阅读 6 分钟
20.6k
基本上每个项目都需要用到模态框组件,由于在最近的项目中,alert组件和confirm是两套完全不一样的设计,所以我将他们分成了两个组件,本文主要讨论的是confirm组件的实现。

简单设置,解决使用webpack前后端跨域发送cookie的问题

2016-09-11
阅读 2 分钟
4.9k
最近用vue来做项目,用webpack来做前端自动化构建。webpack-dev-server会在本地搭建一个服务器,在和后端调试的时候,就会涉及到跨域的问题。

用Vue实现一个全选指令

2016-09-04
阅读 4 分钟
9.7k
最近用vue做了两个项目,都需要实现全选反选的功能,两个项目用了两种实现方法,第一个项目用vue的computed,第二个项目用指令来实现,用起来,发觉指令更加方便。

【译】现在实现flexbox 的策略和工具(flexbox兼容到IE8的跨浏览器解决方案)

2016-01-25
阅读 5 分钟
10.1k
flexbox 相当好用,但是现在就可以用flexbox并且让它支持到IE8吗?如果你跟着下面的步骤,现在就可以开始用flexbox啦。_我介绍flexbox已经有一段时间了,别人问得最多的问题是“什么时候flexbox能得到足够好的支持,可以用到实际的项目中?”

【译】在时间属性上慎用Angular.js1.4的“angular.merge”函数

2016-01-22
阅读 4 分钟
2.4k
今天我将应用从Angular.js1.3.9升级到1.4的时候,发现了一些Bug。在经过一翻研究后,发现它们与时间属性及1.4中的“angular.merge”函数有关。