通过闭包和setTimeout让背景颜色从黄变白再变紫红
2017-11-01 19:15
281 查看
CSS的Transition只能计算数值型的变量,但颜色本身其实也是数值,不过遵循的变化规律不同而已。以十六位数字而非RGB表示颜色,可以用JS模拟出COLOR的渐变过程。
技术点:
条件下setTimeout调用自身来渐变。
通过设置内部变量作为flag,决定变化的方式。
技术点:
条件下setTimeout调用自身来渐变。
通过设置内部变量作为flag,决定变化的方式。
var b = document.body.style function changeColor (s,interval){ s.backgroundColor = '#ffffcc' var level = 2 var changepoint = false var step = function(){ if(level === -1 && changepoint){ return; } var hex = level.toString(16) if(changepoint){ //console.log('now change') s.backgroundColor = '#ff' + hex + hex + 'ff' } else { s.backgroundColor = '#ffff' + hex + hex } if(level <16 && !changepoint) { level ++ if(level === 16 ) { changepoint = true } } if(level >= 0 && changepoint){ level-- } setTimeout(step,interval) //console.log(level,changepoint) } setTimeout(step,interval) } changeColor(b,50)
相关文章推荐
- Qt学习笔记(四)ui界面通过样式表添加图片、背景、字体颜色等
- python通过pil为png图片填充上背景颜色的方法
- [原]点击按钮,表格隔行变色:偶数行为黄色背景,奇数行为默认颜色。通过table的getElementsByTagName取得所有的tr,依次遍历,如果是偶数就…………。
- RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色(通过XML设置)
- Android开发 通过2个按钮来控制一个文本框的背景颜色
- 自定义Adapter,通过复写getView方法,实现ListView中item背景颜色变化
- iOS中通过设置CSS改变WebView字体大小,颜色,背景颜色
- iOS 通过设置颜色去除UISearchBar的灰色背景
- 通过C语言程序改动控制台的背景和前景颜色
- 通过修改父类,改变子类的cell的背景颜色及图片
- Android学习之通过SeekBar调节布局背景颜色(RGB)
- 通过jquery toggleClass()属性制作文章段落更改背景颜色
- 通过颜色矩阵变换按钮按下时候背景
- jquery修改网页背景颜色通过css方法实现
- 通过gridview隐藏的一列的值,来设置该行的背景颜色。
- 通过C语言程序修改控制台的背景和前景颜色
- JavaScript基础 通过parentNode.bgColor设置一个节点的父节点的背景颜色
- Android 通过按钮Button更改全部的TextView、EditText、Button的字体大小、字体颜色、背景颜色
- Flex中如何通过backgroundImage, backgroundColor和backgroundAlpha样式,设置VBox的背景图片和背景颜色以及改变透明度
- JavaScript基础 通过parentNode.bgColor设置一个节点的父节点的背景颜色