javascript显示倒影图片

 设计思路
  • 使用垂直翻转滤镜(即flipV)使图片产生倒影效果;
  • 使用wave滤镜使倒影产生静态波纹效果;
  • 再通过定时器不断改变波纹的偏移量phase,使倒影产生动态波纹,有如水波在不断变化。
    1. <HTML>
    2. <HEAD>
    3. <META name="GENERATOR" content="Microsoft FrontPage 5.0">
    4. <META name="ProgId" content="FrontPage.Editor.Document">
    5. <TITLE>指针式时钟</TITLE>
    6. </HEAD>
    7. <BODY οnlοad="clock()">
    8. <SCRIPT LANGUAGE="JavaScript">
    9. var S = '......';   S = S.split('');//构成秒针的圆点
    10. var M = '.....';    M = M.split('');//构成分针的圆点
    11. var H = '....';     H = H.split('');//构成时针的圆点
    12. var Ybase = 8;  //构成秒、分和时针的圆点之间的间隔距离(Y轴)
    13. var Xbase = 8;  //构成秒、分和时针的圆点之间的间隔距离(X轴)
    14. var dots = 12;  //钟盘上的小时刻度数,通常为12,即1,2,3,...,12
    15. for (var i = 0; i < dots; i++)
    16. {//将小时刻度值(即1,2,3,...,12)分别放入各自的<DIV>块中,且其id属性相同,即dot_Digits
    17.     document.write('<DIV id="dot_Digits" style="position:absolute;width:30px;height:30px;font-size:10px;color:black;text-align:center;padding-top:10px">'+(i+1)+'</DIV>');
    18. }
    19. for (i = 0; i < S.length; i++)
    20. {//将构成秒针的圆点分别放入各自的<DIV>块中,且其id属性相同,即s_dots
    21.     document.write('<DIV id=s_dots style="position:absolute;width:2px;height:2px;font-size:2px;background:red"></DIV>');
    22. }
    23. for (i = 0; i < M.length; i++) 
    24. {//将构成分针的圆点分别放入各自的<DIV>块中,且其id属性相同,即m_dots
    25.     document.write('<DIV id=m_dots style="position:absolute;width:2px;height:2px;font-size:2px;background:black"></DIV>');
    26. }
    27. for (i = 0; i < H.length; i++)
    28. {//将构成时针的圆点分别放入各自的<DIV>块中,且其id属性相同,即h_dots
    29.     document.write('<DIV id=h_dots style="position:absolute;width:2px;height:2px;font-size:2px;background:black"></DIV>');
    30. }
    31. function clock()
    32. {//显示指针式时钟
    33.     var time = new Date ();
    34.     var secs = time.getSeconds();
    35.     var mins = time.getMinutes();
    36.     var hrs = time.getHours();
    37.     var Ypos = document.body.scrollTop +80;  //把时钟中心设置为距可视区顶边 80 pixel
    38.     var Xpos = document.body.scrollLeft +100;//把时钟中心设置为距可视区左边界 100 pixel
    39.     for (var i=0; i < dots; ++i)
    40.     {//根据新的时钟中心和各个小时刻度值的角度值,设置其新坐标
    41.         dot_Digits[i].style.pixelTop = Ypos -15 + 44 * Math.sin(-Math.PI/2+2*Math.PI*(i+1)/12);
    42.         dot_Digits[i].style.pixelLeft = Xpos -15 + 44 * Math.cos(-Math.PI/2+2*Math.PI*(i+1)/12);
    43.     }
    44.     var sec = -Math.PI/2 + 2*Math.PI * secs/60;  //秒针角度
    45.     for (i=0; i < S.length; i++)
    46.     {//根据新的时钟中心和秒针角度,设置秒针上各个圆点的坐标值
    47.         s_dots[i].style.pixelTop = Ypos + i * Ybase * Math.sin(sec);
    48.         s_dots[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(sec);
    49.     }
    50.     var min = -Math.PI/2 + 2*Math.PI * mins/60;  //分针角度
    51.     for (i=0; i < M.length; i++)
    52.     {//根据新的时钟中心和分针角度,设置分针上各个圆点的坐标值
    53.         m_dots[i].style.pixelTop = Ypos + i * Ybase * Math.sin(min);
    54.         m_dots[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(min);
    55.     }
    56.     var hr = -Math.PI/2 + 2*Math.PI * (hrs+mins/60)/12;  //时针角度
    57.     for (i=0; i < H.length; i++)
    58.     {//根据新的时钟中心和时针角度,设置时针上各个圆点的坐标值
    59.         h_dots[i].style.pixelTop = Ypos + i * Ybase*Math.sin(hr);
    60.         h_dots[i].style.pixelLeft = Xpos + i * Xbase*Math.cos(hr);
    61.     }
    62.     setTimeout('clock()', 50);//定时
    63. }
    64. </SCRIPT>
    65. </BODY>
    66. </HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值