当面临某些不需要考虑执行顺序、同步的且耗时较长的任务,可以考虑分块思路 js 代码 js const ul document.getElementById("ul") //创建测试数组 function cerateArr(size) let arr
本文主要讲解js中关于生成器的相关概念和作用,以及到后面结合 promise 实现 es7中的 async 原理,你将学习到js中异步流程控制相关知识 1、认识生成器思考如下代码:javascript let x 1 function foo() x++ bar() console.log(x) // 3 function bar(
最近新增一个抽奖小模块,就是扭蛋机的形式,产品给了参考网页,奈何不好扒下来用,只得自己动手干了,不多bb,先看效果吧!效果图: 动画分析由上面gif可看出,整个动画分为四个部分 1. 扭蛋随机(也不算随机吧)在固定盒子内跳动 2. 中奖扭蛋下落 3. 中奖扭蛋移动到中心,并且逐渐放大 4. 中奖扭蛋做出扭开姿势,缓慢打开整个过程分析好了,貌似还不难,那就一步
D F 系列 1、防抖函数,限制高频触发jsconst debounce (fn, ms 0) let timeoutId; return function(...args) clearTimeout(timeoutId); timeoutId setTimeout(() fn.apply(this, args), ms);
flip 一种简单的动画思路无意间看到某博主文章,介绍关于 filp 如何制作动画,觉得有趣,便自己动手将dome实现了一遍, FLIPf first 记录动画开始前的位置、大小等信息 ( translateY(0px) ) l last 记录动画结束时的位置、大小等信息 ( translateY(100px) )i invert 对动画前后数据信息
J Z 系列 获取数组元素下标(findIndex的实现)jsconst linearSearch (arr, item) for (const i in arr) if (arr[i] item) return +i; return 1;;linearSearch([2, 9, 9], 9); // 1linearSearch([
G I 系列 获取元素距离顶部的距离jsconst getVerticalOffset el let offset el.offsetTop, el el; while (el.offsetParent) el el.offsetParent; offset + el.offsetTop; return offse
A C 系列 1、+ 号的隐式类型转换使用js+[3] //3+[1,2,3].slice(1) //将 [3] 转换为了3 2、日期的转换jsconst addDaysToDate (date, n) const d new Date(date); d.setDate(d.getDate() + n); return d.toISOS
可能经常会在某些新闻或视频网站的搜索框看到类似打字机的效果,咋眼一看好像很简单,但是一些又说不上具体细节,如下图一眼一看,这不动态改变 placeholder 的值就好了吗?仔细看人家还有一个类似光标的东西呢,其实也简单,在拼接的时候再拼接个 | 不就好了吗?代码如下:javascriptconst input document.getElementByI
前几天在好朋友楼上小黑的介绍下,看到了某个平台的官网,里面有一个人物介绍的模块,里面的动画感觉不错,于是就自己动手写了一个。 1.0 原官网示例当然这里去掉了具体信息,原网站是里面圆圈中是人物的头像,旁边是介绍信息,每个人物就沿着圆弧移动到指定位置 2.0 我们实现的结果当点击中间开始时,几个小球一次转动到固定角度 3.0 简单分析下要让小圆在圆弧上动,我们