背景 js(javascript)揉合了面向对象和面向函数的特性,使用js解释如何从面向对象迁移到面向函数非常适合,这部分介绍js continuation monad的简明推导。 continuation monad monad的一种,用于模式化cps(也就是回调风格),monad是函数型语言处理副作用的其中一种方式,可以理解为容器(见末尾参考) 定义 unit :: a -> monad a bind :: monad a -> (a -> monad b) -> monad b &nb…
背景 js(javascript)揉合了面向对象和面向函数的特性,使用js解释如何从面向对象迁移到面向函数非常适合,这部分介绍js continuation monad的简明推导。 continuation monad monad的一种,用于模式化cps(也就是回调风格),monad是函数型语言处理副作用的其中一种方式,可以理解为容器(见末尾参考) 定义 unit :: a -> monad a bind :: monad a -> (a -> monad b) -> monad b &nb…
davidwalsh的文章提到利用animationStart事件来监测新元素,但只提供了思路,在实际应用中可以做以下优化: 使用空keyframes内容减少属性污染 增加触发标志位避免animation属性被长时间占用,触发后立即销毁 改进的animation-name的uid机制 js动态生成css,避免还要另写css 用了!important来增大权重,有可能导致更高权重的css覆盖导致事件失效 代码如下: function addSelectorListener(selector, handler) { v…
移动端webview在处理click事件的时候会有一定的延迟。我们可以用fastclick来解决,但fastclick未压缩23k,压缩后8k,比较重,这里有一个简易的解决方案: function onFastClick(element ,handler) { var delay = 300, offset = 10, still = true, startX = 0, startY = 0, touch; function longClick() {//排除长按 still = false; } function…
此文为 h5 屏幕适配具体公式推导,原理和使用参考 https://www.helpdocshub.com/720.html 缩放 有时我们需要的是设计稿宽高比 v/g 大于屏幕宽高比 u/f 时设计稿宽 v1 等于屏幕宽 u ,否则设计稿高 g1 等于屏幕高 f。求满足要求得设计稿缩放值 s ? 由条件可得 x1 = x*s y1 = y*s v1 = v*s g1 = g*s w1 = w*s h1 = h*s 当 v/g >= u/f 时 两边乘 f/v 得 f/g >…
关于CSS水平居中、垂直居中、水平垂直居中的各种写法 原文标题:CSS-水平居中、垂直居中、水平垂直居中 原文链接:https://segmentfault.com/a/1190000014116655 原文快照:CSS-水平居中、垂直居中、水平垂直居中
node-sass是我们开发中很常见的依赖包,也是安装时间冗长和最常见到报错的依赖。 安装node-sass失败原因有很多种,我们在说失败原因之前,先来分析一下node-sass的安装过程(以下node版本为v10.15.3): PS D:\demo> npm i node-sass // 从npm源安装到node_modules > node-sass@4.13.0 install D:\demo\node_modules\node-sass > node scripts/install.js …
在Element UI的实际使用中,会碰见需要根据特定条件自动清空已经选择的Select内容或者Cascader内容,这个普通的数据重置方法不会让选项重置,内容是没有了,但是Select的状态还是有内容的状态; 所以此时就需要使用 this.$set(this.form, "taskType", ""); 来对数据选项以及数据进行重置。 <template> <el-select v-model="form.value" clearable placeholder="请…
Element UI中table-column嵌套el-dropdown导致dropdown组件在鼠标浮动或者点击时,不显示el-dropdown-menu的问题; 第一种:table-column直接嵌入el-dropdown组件 给column添加 <template slot-scope="scope"> <el-table-column> <!-- column --> <template slot-scope="scope"> <el-dropdown…