william.chan's blog

done is better than perfect

CSS: box-shadow

box-shadow: h-shadow v-shadow blur spread color inset;

box-shadow 1 box-shadow: h-shadow v-shadow blur spread color inset; 水平投影、垂直投影、模糊值、阴影尺寸、颜色、内部阴影和外部阴影,默认是外部阴影。 参考 https://www.haorooms.com/post/box_shadow_css

JavaScript: event.clientX and offsetLeft

clientX, offsetLeft, offsetWidth

clientX, offsetLeft, offsetWidth offsetLeft计算当前元素距离有定位属性(static除外)的先辈元素的距离,如果所有的先辈元素都没有设置定位属性,那么计算的就是当前元素距离窗口左侧的距离。 clientX:当事件被触发时鼠标指针相对于窗口左边界的水平坐标。 offsetLeft:该元素左外边框至窗口左边界的距离。 offsetWid...

JavaScript: 避免事件重复触发

js性能优化

避免事件重复触发 1 2 3 4 5 // 每次事件触发后,先清除之前的事件,再继续执行 floor.$win.on('scroll resize', floor.showFloor = function() { clearTimeout(floor.floorTimer); floor.floorTimer = setTimeout(floor.timeToShow, 250);...

CSS: 在.css文件中对样式进行分组

将分组后的样式折叠起来

vscode 将分组后的样式折叠起来 I had the same issue, and fixed it by doing this: Go to Code -> Preferences -> Settings and change the following entry from auto to indentation 1 "editor.foldingStrategy...

JavaScript: javascript 中x++和++x的不同

++ 含有隐式的赋值

”++”含有隐式的赋值 “++”运算符在操作数之前,称为“前增量”(pre-increment)运算符,它对操作数进行增量计算,并返回计算后的值。 当“++”运算符在操作数之后,称为“后增量”(post-increment)运算符,它对操作数进行增量计算,但返回未做增量计算的(unincrement)值。 1 2 3 var i=1,j=++i;//i和j的值都是2。 va...

JavaScript: es5 中的模块介绍

为模块定义引入包装函数,并保证它的返回值和模块的API保持一致。

为模块定义引入包装函数,并保证它的返回值和模块的API保持一致。 js 模块介绍 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function CoolModule() { var something = "cool"; var another = [1, 2, 3]; function doSomething() { cons...

JavaScript: 区分函数声明和表达式最简单的方法

function 关键字是否位于声明的开始

function 关键字是否位于声明的开始 区分函数声明和表达式最简单的方法 区分函数声明和表达式最简单的方法是看 function 关键字出现在声明中的位 (不仅仅是一行代码,而是整个声明中的位置)。 1 2 3 4 5 6 7 8 // 表达式 (function(){})() var foo = function () {} // 声明 function foo() {} ...

React: react UI组件的业务逻辑

import connect from 'react-redux';

当使用 React + Redux 时,组件如何使用 state 和修改 state UI组件 vs 容器组件 1 2 3 4 5 import connect from 'react-redux'; const List = connect( mapStateToProps, mapDispatchToProps )(Count); React UI组件的业务逻辑 ...

React: 在react中通过ref获取input值

this.refs.user.value, ref='user'

在react中通过ref获取input值 1 2 3 4 5 6 this.refs.user.value this.refs.pwd.value <input type="text" ref="user" /> <input type="password" ref="pwd" />

React: 生命周期流程图

挂载、更新和卸载

React 生命周期流程图