forever-z-133
forever-z-133
## 普惠红包 除了最后一人,其他每个人随机范围为 (0, 20),也相当于每人平均 10 块吧。 _可以再打乱一次顺序来避免最后一人问题。_ ```js function grabMoney(total, maxTimes) { // 结果数组 剩余次数 剩余金额 var res = [], times = maxTimes, rest = total; while (--times >...
一般需要处理的是鼠标点击/鼠标滑动/鼠标滚动/键盘输入这四个事件, 分别处理比如 `pointer-events: none;`/蒙层/`overflow: hidden;`/`tabindex="-1"` 还是复杂了点, 最最简单的还是 `display: none` 然后放壁纸动画了。 判断何时锁屏也是监听上述四个事件咯。
获取 font-size 计算字符可能宽度,然后和元素宽度比较。 新建临时的 dom 加入文字并获取宽度,再与元素宽度比较。 前者能比较好处理 letter-spacing 之类的情况,但其实觉得两种方案都不太行。
突然又想到一个,这个应该是稳了。 ```js var target = document.querySelector('.wrap'); var orgStyle = target.getAttribute('style'); // 获取当前元素的 line-height 值 var lineHeight = window.getComputedStyle(target).lineHeight; // 如果是 normal 就换为 px 值 if (lineHeight === 'normal') { var...
必要时可以跳出循环,尽量不要循环嵌套循环,循环异步需注意变量作用域
选用合适的数据类型,比如纯数字数组或Uint16Array什么的。 使用 web worker 启用多线程来处理。 减少计算,比如读取入参相同的缓存结果。 若可异步,就拆成多份异步完成。 能循环就不要递归。
是不是 flex + order 就不算经典圣杯了
1. **写Demo/造轮子。** 代码能力来自于学习与经验,前者侧重拓展广度,后者侧重增加深度。 2. **合理安排时间。** 现代环境越来越容易将我们的注意力吸走,没有时间安排并坚持是不行的。 3. **了解业务背后的思维逻辑。** 业务是极其多变的,但也是有规律的,甚至是某场景下的最优解。 4. **深究那些不完美。** 无论是代码或是产品,都没有银弹,矛盾/问题肯定有其原由。
唔...innerText 不包含换行的呀
@anuoxiang 多谢大佬