javascript控制顏色漸變

简介: 主要學到了十六進制的轉換與計算。 顏色漸變/** * auto drop obj's background-color *  * @para String box_id, Element's id * @para St...

主要學到了十六進制的轉換與計算。

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>顏色漸變</title>
<link href=".css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="./js/ajax_js/prototype.js"></script>
<script>
/**
 * auto drop obj's background-color
 *
 * @para String box_id, Element's id
 * @para String _souceColor, chars length = 6, hex, not contain '#'
 * @para String _targeColor, chars length = 6, hex, not contain '#'
 * @reutrn null;
 */
var autoDropColor=function(box_id, _souceColor, _targeColor) {

    $(box_id).style.backgroundColor= '#'+ _souceColor;
   
    if(_souceColor.toUpperCase() == _targeColor.toUpperCase()) {
        return null;
    }
   
    var __dropValue = 0x6;
    var __spaceTime = 20;
   
    var color_rgb = '';

    var s_color_r = parseInt(_souceColor.substr(0, 2), 16);
    var s_color_g = parseInt(_souceColor.substr(2, 2), 16);
    var s_color_b = parseInt(_souceColor.substr(4, 2), 16);

    var t_color_r = parseInt(_targeColor.substr(0, 2), 16);
    var t_color_g = parseInt(_targeColor.substr(2, 2), 16);
    var t_color_b = parseInt(_targeColor.substr(4, 2), 16);
   
   
    var new_color_r = ((s_color_r += __dropValue) < t_color_r ? s_color_r : t_color_r).toString(16);
    var new_color_g = ((s_color_g += __dropValue) < t_color_g ? s_color_g : t_color_g).toString(16);
    var new_color_b = ((s_color_b += __dropValue) < t_color_b ? s_color_b : t_color_b).toString(16);
   
     (new_color_r.length > 1) ? '' : new_color_r ='0'+new_color_r;
     (new_color_g.length > 1) ? '' : new_color_g ='0'+new_color_g;
     (new_color_b.length > 1) ? '' : new_color_b ='0'+new_color_b;
   
    color_rgb = new_color_r + new_color_g + new_color_b;
   
    setTimeout("autoDropColor('"+ box_id +"','" + color_rgb+"', '" + _targeColor + "')", __spaceTime);
}
/**
 * auto rise obj's background-color
 *
 * @para String box_id, Element's id
 * @para String _souceColor, chars length = 6, hex, not contain '#'
 * @para String _targeColor, chars length = 6, hex, not contain '#'
 * @reutrn null;
 */
var autoRiseColor=function(box_id, _souceColor, _targeColor) {

    $(box_id).style.backgroundColor= '#'+ _souceColor;
   
    if(_souceColor.toUpperCase() == _targeColor.toUpperCase()) {
        return null;
    }
   
    var __dropValue = 0x6;
    var __spaceTime = 20;
   
    var color_rgb = '';

    var s_color_r = parseInt(_souceColor.substr(0, 2), 16);
    var s_color_g = parseInt(_souceColor.substr(2, 2), 16);
    var s_color_b = parseInt(_souceColor.substr(4, 2), 16);

    var t_color_r = parseInt(_targeColor.substr(0, 2), 16);
    var t_color_g = parseInt(_targeColor.substr(2, 2), 16);
    var t_color_b = parseInt(_targeColor.substr(4, 2), 16);
   
   
    var new_color_r = ((s_color_r -= __dropValue) > t_color_r ? s_color_r : t_color_r).toString(16);
    var new_color_g = ((s_color_g -= __dropValue) > t_color_g ? s_color_g : t_color_g).toString(16);
    var new_color_b = ((s_color_b -= __dropValue) > t_color_b ? s_color_b : t_color_b).toString(16);
   
     (new_color_r.length > 1) ? '' : new_color_r ='0'+new_color_r;
     (new_color_g.length > 1) ? '' : new_color_g ='0'+new_color_g;
     (new_color_b.length > 1) ? '' : new_color_b ='0'+new_color_b;
   
    color_rgb = new_color_r + new_color_g + new_color_b;
   
    setTimeout("autoRiseColor('"+ box_id +"','" + color_rgb+"', '" + _targeColor + "')", __spaceTime);
}
</script>
</head>

<body>
<div id="colorBox" style="width:250px; height:120px; background-color:#97CC02;border:#fefefe 1px solid;" width="392"></div>
<input id="testbtn" type="button" onclick="autoDropColor('colorBox', '666602', '97CC02');" value="color drop" />
<input id="testbtn" type="button" onclick="autoRiseColor('colorBox', 'ffff02', '97CC02');" value="color rise" />
<p>&nbsp;</p>
<div id="colorBox2" style="width:250px; height:120px; background-color:#ffffff;border:#efefef 1px solid;" width="392"></div>
<input id="testbtn" type="button" onclick="autoDropColor('colorBox2', 'ffff00', 'ffffff');" value="test color drop" />

</body>
</html>

相关文章
|
1月前
|
前端开发
编程笔记 html5&css&js 018 HTML颜色
编程笔记 html5&css&js 018 HTML颜色
|
7月前
|
JavaScript
jQuery jquery.color.js 背景颜色支持动画
jQuery jquery.color.js 背景颜色支持动画
66 0
|
5月前
|
JavaScript 小程序
小程序通过js控制页面字体颜色属性
小程序通过js控制页面字体颜色属性
50 0
|
6月前
|
JavaScript 前端开发
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
46 0
|
6月前
|
JavaScript 前端开发
随机色 | JavaScript获取随机颜色
JavaScript 随机颜色有很多方法,在项目中使用如下方法,方法选自网络,并结合实际更改
105 0
|
9月前
|
数据可视化 搜索推荐 JavaScript
数据可视化大屏Echarts高级开发散点图实战案例分析(地图扩展插件bmap.min.js、散点图、百度地图控件、柱图、涟漪动图、条件判断颜色)
数据可视化大屏Echarts高级开发散点图实战案例分析(地图扩展插件bmap.min.js、散点图、百度地图控件、柱图、涟漪动图、条件判断颜色)
389 0
|
9月前
|
JavaScript
JS数据根据键值匹配Echarts颜色的解决方案
JS数据根据键值匹配Echarts颜色的解决方案
48 0
|
9月前
|
JavaScript
js字符串拼接的数据三元表达式输出颜色
js字符串拼接的数据三元表达式输出颜色
36 0
|
9月前
|
Web App开发 JavaScript 前端开发
JavaScript(控制台颜色)
JavaScript(控制台颜色)
|
10月前
【Three.js入门】图形用户界面GUI、BufferGeometry创建矩形、随机生成多个随机颜色的三角形
【Three.js入门】图形用户界面GUI、BufferGeometry创建矩形、随机生成多个随机颜色的三角形
170 0