Without jQuery:event.js · 前端·禁地

作者:JerryXia | 发表于 , 阅读 (12)
使用原生的js实现简易的事件委托。
什么是事件委托什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。
事件委托的原理利用冒泡的原理,把事件加到父级上,触发执行效果。
为什么要使用事件委托比如,现在有一个列表,需要有这么一个交互:点击列表中每一项,都在控制台打印出该项的文字。
12345678<ul class="list">    <li class="item"> Item 1 </li>    <li class="item"> Item 2 </li>    <li class="item"> Item 3 </li>    <li class="item"> Item 4 </li>    <li class="item"> Item 5 </li>    <li class="item"> Item 6 </li></ul>如过不使用事件委托,那么每一项的点击事件都要这么写:123456789var list = d...阅读全文

 使用 restify 搭建 RESTful API · 前端·禁地

作者:JerryXia | 发表于 , 阅读 (6)
使用 restify 搭建 RESTful APIAug 3, 2016使用 restify 框架搭建一个简易的 REST Web 服务。
什么是 RESTful 架构?具象状态传输(英文:Representational State Transfer,简称REST)是Roy Thomas Fielding博士于2000年在他的博士论文 “Architectural Styles and the Design of Network-based Software Architectures” 中提出来的一种万维网软件架构风格。
目前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务执行图书查询;雅虎提供的Web服务也是REST风格的。
具体可以阅读 阮一峰 的日志 RESTful API 设计指南 ,或是参考 维基百科
什么是 restify 框架?restify is a node.js module built speci...阅读全文

 Without jQuery:lazyload.js · 前端·禁地

作者:JerryXia | 发表于 , 阅读 (6)
什么是延时加载?图片延迟加载也称 “懒加载”,通常应用于图片比较多的网页
为什么要使用延时加载?假如一个网页中,含有大量的图片,当用户访问网页时,那么浏览器会发送n个图片的请求,加载速度会变得缓慢,性能也会下降。如果使用了延时加载,当用户访问页面的时候,只加载首屏中的图片;后续的图片只有在用户滚动时,即将要呈现给用户浏览时再按需加载,这样可以提高页面的加载速度,也提升了用户体验。而且,统一时间内更少的请求也减轻了服务器中的负担。
延时加载的原理基本原理就是最开始时,所有图片都先放一张占位图片(如灰色背景图),真实的图片地址则放在 data-src 中,这么一来,网页在打开时只会加载一张图片。
然后,再给 window 或 body 或者是图片主体内容绑定一个滚动监听事件,当图片出现在可视区域内,即滚动距离 + 窗体可视距离 > 图片到容器顶部的距离时,将讲真实图片地址赋值给图片的 src,否则不加载。
使用原生js实现图片的延时加载延时加载需要传入的参数:
1234var selector = options.selector || 'img',    imgSrc = op...阅读全文

 使用Vue1.0 + webpack 实现SPA · 前端·禁地

作者:JerryXia | 发表于 , 阅读 (5)
文章微博GITHUB使用Vue1.0 + webpack 实现SPAOct 16, 2016最近公司一直在催开发,导致基本没时间记录下学习的过程了。刚好有个小项目需要用到Vue,于是顺便学习下使用 vue-cli + webpack 来进行单页面应用开发。趁着稍微有一点点时间,就简单记录一下开发的过程(文中的应用为CNode的单页面应用,API数据均由CNode提供)。
安装基本工具在控制台中输入 npm i -g vue-cli webpack安装成功后显示如下图:新建项目
先进入工作区间 cd /your/workspace新建 vue1.0 的项目 vue init webpack#1.0 your-project-name 并进入项目目录 cd your-project-name在新建项目时,需要输入的参数有:项目名项目的描述坐着是否使用ESLint进行校验(因为不喜欢2个空格的tab所以我选择了不校验)是否使用 karma 和 mocha 进行测试(不熟悉,所以先不是用)这一行不懂,所以跳过安装相关依赖 npm i运行项目 npm run dev到现在我们已经成功搭好了v...阅读全文

 使用七牛云存储图片 之 上传图片 · 前端·禁地

作者:JerryXia | 发表于 , 阅读 (11)
使用七牛云存储图片 之 上传图片Jan 22, 2017七牛云是国内算是挺不错的图片存储服务器,免费用户能拥有10G空间,每个月10G的下载流量,对于个人用户用于做个小博客,小网站来说,已经够了。
但是,七牛的官方开发文档真心会看得一头雾水。
于是,先记录下来这次传图的过程。
在上传图片之前,需要准备两样东西:
AccessKeySecretKey其中, AccessKey 和 SecretKey 能在 个人中心 > 秘钥管理中获得,如图。
创建空间 并 创建配置文件
选择 资源主页 ,再选择 立即添加,或者选择 对象存储 ,然后选择 添加 。
然后填上空间的名字,选择区域即可。
其中,空间的名字是我们使用代码上传至七牛服务器的第三个参数 Bucket
可以将这3个常量存储在配置文件config.qiniu.php中
1234define('QINIU_SECRET_KEY', 'YOUR_SK');define('QINIU_ACCESS_KEY', 'YOUR_AK');define('QINIU_DOMAIN', 'YOUR_QINIU_DOMAIN');de...阅读全文