- 博客(13)
- 收藏
- 关注
翻译 Yeoman(3) 跟用户的交互
跟用户的交互 你的generator会跟最终的用户进行大量的交互.默认的,yeoman是跑在命令行的,但是它也提供的不同的工具来支持特制的用户界面.举例来说,yeoman完全可以跑在一个图形界面或者一个标准程序里 为了让它具备这样扩展性,yeoman提供了一组抽象的用户界面元素.当你跟你的用户交互的时候,你有责任使用这些抽象元素,如果使用其他的方式,可能使得你的generator不能正
2016-06-25 22:40:09 371
翻译 Yeoman创建自己的generator(2)
Generator 运行时上下文 一个最重要的概念,是去弄清楚,当你编写一个generator的时候,其中的方法是如何运行的和在哪个上下文中被当作action的prototype方法 每个被添加到generator原型链上的方法都会被当成一个任务.每个任务都跑在一个队列中,这个队列由yeoman的运行环境来决定 换句话说,通过Object.getPrototypeOf(Gener
2016-06-25 16:04:42 383
翻译 Yeoman创建自己的generator(1)
如何创建自己的generator创建一个node模块 A generator is, at its core, a Node.js module. First, create a folder within which you’ll write your generator. This folder must be named generator-name (where name is
2016-06-24 17:44:34 742
翻译 CSS或JS实现gif动态图片的停止与播放
原文一共有三种方式GIF+非GIF方式原理: 播放的时候用gif图片 暂停的时候用非gif图片缺点 所谓”暂停”的时候,永远是那一张非gif图css控制demo 原理 使用css来控制,关键点是animation-play-state: paused;缺点 本质上是帧动画,不是gif 如果手头上是gif,用这样的方式就要去format格式canvas原理 扩展了img标签的方法,
2016-06-24 14:14:28 11567 1
翻译 子元素scroll父元素容器不跟随滚动JS实现
原文链接 demo精简版 因为原作者说的比较啰嗦…基本思路 因为子元素的scroll事件冒泡到父级元素,所以要在事件中e.preventDefault()坑 在scroll事件中去阻止冒泡是徒劳的,因为这个时候scroll已经发生了 正确的做法是在mousewheel中去阻止(注意兼容firefox,在firefox中叫”DOMMouseScroll“)代码(jquery版
2016-06-24 13:04:02 935
原创 Angular-ui-route
ng-route ng-route是官方的原来就实现的路由器范例如下:angular.module('myApp', []) .config('myAppCtrl', ['$routeProvider', function ( $routeProvider ) { $routeProvider .when('/', {
2016-06-24 02:25:57 623
转载 变态javascript测试题
传送门测试题上卷测试题下卷小议 这样的题目权当技术pk用,实际的工作中,应该不会太用到 当然如果你这都了解,那么你的js黑技术确实够可以了
2016-06-24 00:09:38 334
原创 Underscore学习(2)
函数相关bind 我们有时候需要限定函数中的this的指向 var fn = function(){return this.name;}; var me = {name:'dino'}; var fn2 = _.bind(fn,me); var name = fn2(); // name = 'dino' bind巧妙的利用了javascript中函数
2016-06-21 21:58:11 228
原创 Underscore学习(1)
基本的遍历each javascript中自带了for和for in来分别遍历数组和对象,underscore则提供了一种通用的迭代器来遍历// 遍历数组var arr = [];_.each(arr,function(n,i,self){ // n是数组元素 // i是数组元素下标 // self指向arr自己});// 遍历对象var obj = {};_
2016-06-21 17:36:23 289
原创 路径匹配模块-glob
路径匹配模块-globgithub传送门glob基于minimatch的再次开发,用于路径的匹配,如果你用过glup或则grunt,你一定印象深刻安装 npm i glob基础用法glob(pattern, [options], cb)pattern 匹配字符串,类似正则 可以是字符串,也可以是字符串数组 options 详情见options cb 回调,签名如下cb(err:Er
2016-06-19 20:44:05 641
原创 wiredep----另一种思路的前端模块加载方式
wiredep另一种思路的前端模块加载方式github传送门很多人会选择amd的requirejs,seajs这样的方式,而wiredep则回归到原始的方式来思考 既然我需要加载n个js文件,那么我就一条条的把他们的列出来 至于他们的依赖关系,我只要拓扑排序计算出来,然后安排好先后关系就可以了先给出一个例子 安装好wiredep的npm包用bower去安装好要加载的js第三方包 { "n
2016-06-19 14:54:30 1786
原创 HTML的attribute和DOM的property
虽然attribute和property都在中文中被翻译成属性,但是他们的含义不同在angular2的教程里,重点的说明了下这个问题 [title]="myTitle">Save是button的title属性被绑定了吗?是,但是刨根问底,是dom的title的property被绑定了,而不是html上的attribute实验如下:传送门可以看到,at
2016-06-18 11:56:24 701
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人