JavaScript

[译] Webpack 前端构建集成方案

构建工具逐渐成为前端工程必备的工具,Grunt、Gulp、Fis、Webpack等等,译者有幸使用过Fis、Gulp。前者是百度的集成化方案,提供了一整套前端构建方案,优点是基本帮你搞定了,但是灵活性相对比较低,社区也没那么大;后者提供了非常灵活的配置,简单的语法可以配置出强大的功能,流控制也减少了编译时的时间,可以和各种插件配合使用。译者因为要使用AMD模块机制,开始接触

一个有关字符串子串的有趣问题

问题描述:输入一个字符串。输入的字符串仅由'0'和'1'组成,比如'10100011101'这样的。从输入的字符串中截取一段连续的片段作为子串,且子串满足从左往右数,'0'的个数总是不比'1'少。输出其满足条件的最长的子串的长度。下面是JavaScript的实现: function subString(str){var arr = str.split('');var res

书页效果

书页效果.book {position: relative;width: 200px;height: 248px;margin-left: 20px;border: 1px # eee solid;background-color: # fff;box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2)}.book::after {positi

利用Vue.js实现拼图游戏

之前写过一篇《基于Vue.js的表格分页组件》的文章,主要介绍了Vue组件的编写方法,有兴趣的可以访问这里进行阅读:https://segmentfault.com/a/11...前言为了进一步让大家了解Vue.js的神奇魅力,了解Vue.js的一种以数据为驱动的理念,本文主要利用Vue实现了一个数字拼图游戏,其原理并不是很复杂,效果图如下:demo展示地址为:https:

又被事件冒泡坑了一把,这次要彻底弄懂浏览器的事件流

打算封装一个弹窗组件,做的时候忘记了考虑事件冒泡的因素,结果被坑得不要不要的。为了解决自己的问题,去查阅了不少资料,把事件流相关的知识都给总结一下。事件冒泡:一个简单,但是坑了我无数回的知识点!JavaScript与HTML的交互通过事件来实现。而浏览器的事件流是一个非常重要的概念。不去讨论那些古老的浏览器有事件捕获与事件冒泡的争议,只需要知道在DOM2中规定的事件流包括了

GSAP - 专业的 Web 动画库

说到在网页里创建动画,你可能很快会想到jQuery的animate()方法,或者css3的animation和transition。现在,本文将介绍另一个web动画的可选方案,GSAP。GSAP的全名是GreenSock Animation Platform,这个名字是有些怪异(官网还在各种安利你加入它的Club),但它的确是一个从flash时代一直发展到今天的专业动画库。

Promise 的三种常用方法。

前言看到项目里不少人用了Promise 的库类,比如 bluebird、q 、jQuery.Deffered 等 polyfill promise 方式,使用的时候翻看长长的文档,真心累觉不爱。es5 发展到现在,node 在0.12版本就已经支持了promise, 在客户端,大部分浏览器也支持了Promise, 如果要兼容低版本的浏览器,可以加上es5-shim等 po

AngularJS的核心对象angular上的方法全面解析(AngularJS全局API)

总结一下AngularJS的核心对象angular上的方法,也帮助自己学习一下平时工作中没怎么用到的方法,看能不能提高开发效率。我当前使用的Angularjs版本是1.5.5也是目前最新的稳定版本,不过在全局API上,版本不同也没什么区别。AngularJS 全局 API列表elementbootstrapcopyextendmergeequalsforEachnoopbi

vue.js过渡(vue学习记录2)

html代码:helloToggle必须要添加CSS样式(该样式来控制状态): .expand-transition {transition: all .3s ease;height: 30px;padding: 10px;background-color: # eee;overflow: hidden;}.expand-enter, .expand-leave {heig

js利用clipboardData在网页中实现截屏粘贴的功能

最近在做一个将屏幕截图直接粘贴发送的功能,于是对此做了一些研究,下面是具体的实现代码:html代码如下,在这里只是简单的做了一个textare框用作演示 截屏粘贴具体实现在JavaScript中:function paste(event){ var clipboardData = event.clipboardData; console.log(clipboardDa