分类:: javascript

上滑跑马灯

前言产品说,我们做一个转盘活动吧,需要轮播中奖信息。 当然这需求完全没有问题。产品说,你听我说完。 是从下往上轮播 如何数据没有更新,就反复轮播。 如果数据有更新,要无缝更新。 进入时间1s,暂停1S,出去时间1s. 没问题吧。额, 等等,没多大问题。 那个谁,这个任务教你啦。 方案然后,我的同事开始搜罗实现方案,很多都是匀速走的。同事甚至和产品讨论要不要换成跑马灯,嘻嘻, 开玩笑。说个笑话,

背景图片闪现空白问题

前言那天天气不错,心情并不好,因为感冒了。实现前端一个弹出框功能时,发现有背景图片的弹出框,会出现闪白现象。因为心情不太好,我一直忍着。直到今天, 研究一下解决方案,于是有了今天的文章。 这是一个很基础的问题,也很常见的问题。 正常情况下我们都会忽视他。 总结我===内容 & 你 === 背景图片 我显示的时候,你已经在 若不能,我显示的时候,你尽快在 你尽可能的小

节点尺寸变化检测

前言近来有需求要做分页,听起来可能有点Low。 所以我要把Low的事情做得有点逼格。分页本身没啥,但是数据量起来了,比如十万。 要是不做点处理, 那你的页面估计爽得很,机器也爽得很。 放心,我不会让你这么爽。 大量数据展现方案比较流行的当然是虚拟滚动(无限滚动)。 始终展示的是有限的固定节点。 外层创建滚动层。 一句话,就是反复利用固定节点展现数据。 其中还有两个点 何时需

两个浏览器窗口间通信

两个浏览器窗口间通信补充一下,这里的通讯指遵守同源策略情况下。 为了吸引读者的兴趣,先把demo放到前面:下面有几个我自己写的演示多页面通讯的demo, 为了正常运行,请用最新的chrome浏览器打开。demo的源码地址https://github.com/xiangwenhu/page-communication/tree/master/docs 首页 setInterval + se

typescript拾忆

在构造函数的参数上使用 public 等同于创建了同名的成员变量 123456class Student { fullName: string; constructor(public firstName, public middleInitial, public lastName) { this.fullName = firstName + " "

深入__proto__和prototype的区别和联系

前话有一个一个装逼的同事,写了一段代码12function a(){}a.__proto__.__proto__.__proto__ 然后问我,下面这个玩意a.__proto__.__proto__.__proto__是啥,然后我一脸懵逼,prototype还知道一点,这个__proto__,还来三个,是个什么鬼。于是我一直不能放下这个问题,虽然我很懒,很不喜欢费脑子,但是这个

一行能装逼的JavaScript代码的延伸

前段就是坑,入坑水真深。 先看看一个黑科技, 纳尼,这是什么东西。1(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] 贴入浏览器执行一看,你个XX,你给老子等着。。。。。。。然并卵。作为一般的青年就此笑过, 可是我不是一般的青年,我是二到无穷的青年。你给老子讲清楚你这sb怎么出

Base64的原理和实现

仅仅是一个标签,记录 base64 的原理 base64 比较好的实现 当然window.btoa 和 window.atob 已经支持度比较高了,但是对中文的支持不好,当然也不是问题。解决办法如下 123456789101112function utf8_to_b64(str) { return window.btoa(unescape(encodeURIComponent(

轻量级前端模板

本来说的是轻量级 ETemplate 的实现,Git 地址 说起模板引擎还是得提到 jQuery 之父 John Resig 的JavaScript Micro-Templating。之前我这里有文章专门解读Micro-Templating 源码。其核心 标签解析 属性映射 函数构建 当然,因为 Micro-Templating 相当的短小,并没有增强的功能,比如: 模板嵌套 函数扩展 远程

Promise并行,串行

Promise 并行这个功能Promise自身已经提供,不是本文的重点。主要是依赖Promise.all和Promise.race。Promise.all是所有的Promise执行完毕后(reject|resolve)返回一个Promise对象。Promise.race是任意一个Promise对象执行完毕后返回一个Promise对象。有人可能会说,不是Promise对象reject的时候要catc