随笔-89  评论-503  文章-2  trackbacks-30

效果请将鼠标移到任意的链接上就能看到

下面直接看代码:

fadeUp=function(element,red,green,blue){
    
if(element.fade){
        window.clearTimeout(element.fade);
    }

    
var cssValue = "rgb("+red+","+green+","+blue+")";
    element.style.backgroundColor 
= cssValue;
    
//$(element).css("background-color",cssValue);
    if(red == 255 && green == 255 && blue == 255){
        
return;
    }

    
var newRed = red + Math.ceil((255-red)/10);
    var newGreen = green + Math.ceil((255-green)/10);
    var newBlue = blue + Math.ceil((255-blue)/10);
    var repeat = function(){
        fadeUp(element,newRed,newGreen,newBlue);
    }
;
    element.fade
=window.setTimeout(repeat,100);
}

好,我们来分析一下代码.
背景色用 rgb(red, green, blue) 来设置. 然后用到了一个递归的调用:

    var repeat = function(){
        fadeUp(element,newRed,newGreen,newBlue);
    };

 

递归的结果是背景色的值趋向#ffffff,也就是白色.
递归是通过 setTimeout(function(),time) 这个函数设置延时来实现的.这个函数的意思是每隔time时间片后就执行function()函数.后面的time的单位是毫秒.
clearTimeout()用于清除这个延时.

Enjoy!!

Tag标签: javascript
posted on 2008-03-25 10:39 Q.Lee.lulu 阅读(669) 评论(6)  编辑 收藏 网摘 所属分类: jQueryJavaScript

评论:
#1楼  2008-03-25 12:47 | liy      
收藏收..
  回复  引用  查看    
#2楼 [楼主] 2008-03-25 13:45 | Q.Lee.lulu      
递归的结果是背景色的值趋向RGB(255.255.255),也就是白色.

编辑器将这自动变成 #ffffff 了. - -
  回复  引用  查看    
#3楼  2008-04-02 22:07 | 潘柏先      
怎么用阿?

  回复  引用  查看    
#4楼  2008-04-18 04:40 | 周克      
@潘柏先
<a href="Default.aspx" title="abc" onmouseover="fadeUp(this,100,200,100)">text</a>
  回复  引用  查看    
#5楼  2008-05-18 18:57 | 黄色 [未注册用户]
hnm
  回复  引用    
#6楼  2008-07-22 14:12 | Meazza-mFrog      
给个使用的DEMO源码下载
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-25 10:58 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:


相关搜索:
javascript

相关链接:
 
欢迎来到我的博客!