JavaScript 颜色梯度和渐变效果第3/3页

 更新时间:2009年03月15日 21:15:07   作者:  
程序ColorGrads的作用是通过StartColor和EndColor生成颜色梯度集合。

ColorTrans部分:
复制代码 代码如下:

var ColorTrans = function(obj, options){

this._obj = $(obj);
this._timer = null;//定时器
this._index = 0;//索引
this._colors = [];//颜色集合
this._grads = new ColorGrads();

this.SetOptions(options);

this.Speed = Math.abs(this.options.Speed);
this.CssColor = this.options.CssColor;

this._startColor = this.options.StartColor || CurrentStyle(this._obj)[this.CssColor];
this._endColor = this.options.EndColor;
this._step = Math.abs(this.options.Step);

this.Reset();
this.SetColor();
};
ColorTrans.prototype = {
//设置默认属性
SetOptions: function(options) {
this.options = {//默认值
StartColor: "",//开始颜色
EndColor: "#000",//结束颜色
Step: 20,//渐变级数
Speed: 20,//渐变速度
CssColor: "color"//设置属性(Scripting属性)
};
Extend(this.options, options || {});
},
//重设颜色集合
Reset: function(color) {
//修改颜色后必须重新获取颜色集合
color = Extend({ StartColor: this._startColor, EndColor: this._endColor, Step: this._step }, color || {});
//设置属性
this._grads.StartColor = this._startColor = color.StartColor;
this._grads.EndColor = this._endColor = color.EndColor;
this._grads.Step = this._step = color.Step;
//获取颜色集合
this._colors = this._grads.Create();
this._index = 0;
},
//颜色渐入
FadeIn: function() {
this.Stop(); this._index++; this.SetColor();
if(this._index < this._colors.length - 1){
this._timer = setTimeout(Bind(this, this.FadeIn), this.Speed);
}
},
//颜色渐出
FadeOut: function() {
this.Stop(); this._index--; this.SetColor();
if(this._index > 0){
this._timer = setTimeout(Bind(this, this.FadeOut), this.Speed);
}
},
//颜色设置
SetColor: function() {
var color = this._colors[Math.min(Math.max(0, this._index), this._colors.length - 1)];
this._obj.style[this.CssColor] = "rgb(" + color[0] + "," + color[1] + "," + color[2] + ")";
},
//停止
Stop: function() {
clearTimeout(this._timer);
}
};


[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • js如何验证密码强度

    js如何验证密码强度

    这篇文章主要为大家详细介绍了js如何验证密码强度,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 用JavaScript调用WebService的示例

    用JavaScript调用WebService的示例

    JavaScript用htc实现WebService的调用
    2008-04-04
  • js中Image对象以及对其预加载处理示例

    js中Image对象以及对其预加载处理示例

    现在的网页中经常会有一些图像连接,当鼠标指向它的时候,图像换成另外一幅图像,它们都是先预读图像的,下面也有个不错的实例,感兴趣的朋友可以参考下
    2013-11-11
  • 微信小程序国际化探索实现(附源码地址)

    微信小程序国际化探索实现(附源码地址)

    这篇文章主要介绍了微信小程序国际化探索实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • JavaScript canvas实现七彩太阳光晕效果

    JavaScript canvas实现七彩太阳光晕效果

    这篇文章主要为大家详细介绍了JavaScript canvas实现七彩太阳光晕效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • JavaScript Promise 用法

    JavaScript Promise 用法

    “Promises”渐渐成为JavaScript里最重要的一部分,大量的新API都开始promise原理实现。这篇文章主要为大家详细介绍了JavaScript Promise 用法,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • JS 中document.write()的用法和清空的原因浅析

    JS 中document.write()的用法和清空的原因浅析

    这篇文章主要介绍了JS 中document.write()的用法和清空的原因浅析,需要的朋友可以参考下
    2017-12-12
  • JS实现漂亮的时间选择框效果

    JS实现漂亮的时间选择框效果

    这篇文章主要介绍了JS实现漂亮的时间选择框效果,结合实例形式分析了javascript时间选择框插件的实现与使用方法,需要的朋友可以参考下
    2016-08-08
  • js实现跨域的几种方法汇总(图片ping、JSONP和CORS)

    js实现跨域的几种方法汇总(图片ping、JSONP和CORS)

    平时用惯了jQuery.ajax之类的方法,却时常忽略了它背后的实现,本文是学习了AJAX基础及几种跨域解决方案之后的一些收获。
    2015-10-10
  • 11种JavaScript前端数据去重方式总结

    11种JavaScript前端数据去重方式总结

    这篇文章主要为大家总结了JavaScript去重的11种方式,各有优缺点,文中的示例代码讲解详细,具有一定的学习价值,需要的可以根据需求合理使用
    2023-06-06

最新评论