javascript
文章平均质量分 65
cy-show
web技术改变生活!
展开
-
解密jQuery事件核心 - 绑定设计(一)
说起jQuery的事件,不得不提一下Dean Edwards大神 addEvent库,很多流行的类库的基本思想从他那儿借来的jQuery的事件处理机制吸取了JavaScript专家Dean Edwards编写的事件处理函数的精华,使得jQuery处理事件绑定的时候相当的可靠。在预留退路(graceful degradation),循序渐进以及非入侵式编程思想方面,jQuery也做的非常转载 2016-08-04 21:09:43 · 269 阅读 · 0 评论 -
怎样实现前端裁剪上传图片功能
由于前端是不能直接操作本地文件的,要么通过用户点击选择文件或者拖拽的方式,要么使用flash等第三方的控件,但flash日渐衰落,所以使用flash还是不提倡的。同时html5崛起,提供了很多的api操控,可以在前端使用原生的api实现图片的处理,这样可以减少后端服务器的压力,同时对用户也是友好的。最后的效果如下:这里面有几个功能,第一个是支持拖拽,第二个压缩,第三个是裁剪转载 2017-09-12 17:55:04 · 618 阅读 · 0 评论 -
如何不择手段提升scroll事件的性能
如何不择手段提升scroll事件的性能1. chrome devtool 是诊断页面滚动性能的有效工具2. 提升滚动时性能,就是要达到fps高且稳。3. 具体可以从以下方面着手使用web worker分离无页面渲染无关的逻辑计算触发监听事件时使用函数节流与函数去抖使用requestAnimationFrame与requestIdleCallback代替定时器转载 2017-10-16 21:18:21 · 3793 阅读 · 0 评论 -
IE兼容笔记(一):兼容IE9表单上传文件
几年前做兼容IE8的pc端项目的时候就遇到文件上传的需求,当时也是查看文档来解决IE9以下不支持formData的问题。由于之前没有写博客的习惯,最近又遇到这样的需求,所以写出来想帮助需要用到的朋友。 本身文件上传不难,只需要注意一些细节:用最初的表单提交的方式form.submit() <input type='file'> onchange问题 点击<inpu...原创 2019-01-05 15:39:05 · 9233 阅读 · 2 评论 -
12306购票流程分析
近两年火车票越来越难抢了,各种抢票软件也是层出不穷,最近对12306网站的购票流程感兴趣,于是便分析了一下。 首先说一下登录页面,一种是app扫码登录,一种是账号密码登录。扫码登录的方式是生成一张二维码,通过轮询的方式向后台发送请求,检验是否扫码成功。账号密码的话输入用户名密码后需要点击图片验证码。说一下图片验证的过程:根据图片上的提示点击正确的答案,最后点击登录按钮,点击登录按钮后首先会...原创 2019-02-17 20:14:36 · 3091 阅读 · 0 评论 -
利用yeoman快速搭建React+webpack+es6脚手架
前言随着前端代码越来越多,越来越复杂,整个工程变得越来越难以管理。所以,前端工程化已是必然的趋势,已经是2017年了,还在用手动添加依赖吗?快来学习用构建工具来管理web项目吧。开发环境我们将会使用npm来下载和构建依赖,需要提前安装node.js,去Node.js官网下载安装包,手动安装即可安装依赖npm install -g yo安装原创 2017-06-13 12:12:49 · 2663 阅读 · 0 评论 -
使用vue+webpack的多页面架构
首先,要大概知道webpack是什么,webpack的插件都是做什么用的,vue是什么,然后看完之后也可以去补充一下这些方面的知识。第一步:安装环境需要安装的有:nodejs,并添加入环境变量PATH使用nodejs安装vue-cli 参考内容: http://cn.vuejs.org/guide/installation.html#u547D_u4转载 2017-04-27 12:32:44 · 9452 阅读 · 1 评论 -
axios全攻略
axios全攻略axios 简介axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:从浏览器中创建 XMLHttpRequest从 node.js 发出 http 请求支持 Promise API拦截请求和响应转换请求和响应数据取消请求自动转换JSON数据客户端支持防止 CSRF/XSRF浏览器兼容性转载 2017-05-23 09:19:16 · 2717 阅读 · 0 评论 -
解密jQuery事件核心 - 委托设计(二)
第一篇 http://www.cnblogs.com/aaronjs/p/3444874.html从上章就能得出几个信息:事件信息都存储在数据缓存中对于没有特殊事件特有监听方法和普通事件都用addEventListener来添加事件了。而又特有监听方法的特殊事件,则用了另一种方式来添加事件。 本章分析的重点:通过addEventListener触发事件后,回调句柄如何处理?转载 2016-08-04 21:11:06 · 313 阅读 · 0 评论 -
解密jQuery事件核心 - 自定义设计(三)
接上文http://www.cnblogs.com/aaronjs/p/3447483.html 本文重点:自定义事件“通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率。”对象之间通过直接方法调用来交互1)对象A直接调用对象B的某个方法,实现交互;直接方法调用本质上也是属于一种特殊的发送与接受消息,它把发送消息和接收消息合并为一个动作完成;方法转载 2016-08-04 21:13:43 · 366 阅读 · 0 评论 -
解密jQuery事件核心 - 模拟事件(四)
前几章已经把最核心的实现都分解过了,这一章我们看看jQuery是如何实现事件模拟的在Internet Explorer 8和更低,一些事件change 和 submit本身不冒泡,但jQuery修改这些冒泡,创建一致的跨浏览器的行为。焦点事件blur :在这个事件触发前,元素已经失去焦点,不冒泡,同步触发。target 指向当前失去焦点的元素。focus:在这个事件触发转载 2016-08-04 21:16:04 · 220 阅读 · 0 评论 -
Gulp构建前端自动化工作流之:常用插件介绍及使用
在对Gulp有了一个初步的了解之后,我们开始构建一个较为完整的Gulp开发环境。本文主要分为6个段落:1. 构建项目目录结构(Directory Structure Build)2. 插件介绍及使用方法(Tasks and dependencies)3. 扩展优化(Extend & Optimize Task)4. 其他插件介绍(Other plug-ins)5. 匹配规则(Mat转载 2016-08-02 11:19:20 · 5898 阅读 · 0 评论 -
Git 命令与基本操作
获取与创建项目命令git init用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。在目录中执行 git init,就可以创建一个 Git 仓库了。比如我们创建 codecloud 项目:$ mkdir codecloud$ cd codecloud$ git initInitialized empty Git转载 2016-09-06 22:37:54 · 599 阅读 · 0 评论 -
Javascript模块化编程(一):模块的写法
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javasc转载 2016-09-06 22:42:20 · 251 阅读 · 0 评论 -
Javascript模块化编程(二):AMD规范
七、模块的规范先想一想,为什么模块很重要?因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!考虑到Javascript模块现在还没有官方规范,这一点就更重要了。目前,通行的Javascript模块规范共有两种:CommonJS和AMD转载 2016-09-06 22:45:22 · 227 阅读 · 0 评论 -
Javascript模块化编程(三):require.js的用法
一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。 这段代码依次加载多个js文件。这样的写法有很大的缺点。首先,加载的时候,浏览器会停止网页渲染,加转载 2016-09-06 22:47:05 · 204 阅读 · 0 评论 -
github atom 安装activate-power-mode插件详细教程
看了网上关于atom编辑器介绍,于是参考资料写了这篇教程。(安装atom和安装activate-power-mode)下面讲解详细安装步骤1.安装atom下载网址:https://atom.io/一,根据提示安装atom,默认情况安装在C:\Users\Administrator\AppData\Local\atom(每个人电脑路径有点不一样,找下就可以原创 2017-04-19 14:02:58 · 9084 阅读 · 1 评论 -
javascript--深入理解new关键字
javascript中的new关键字类似于其它高级语言中的new,都是用来创建一个实例对象。创建出来的对象和一般定义var obj = {} 或者 object.create() 不同点在于new出来的对象是直接继承构造函数。我们可以打印一下new出来的对象和直接定义的对象:function Animal(name) { this.name = name}var obj = {...原创 2019-03-10 19:48:25 · 443 阅读 · 0 评论