« 1 234» Pages: ( 1/4 total )
本页主题: 分享一个鼠标跟随的时针特效 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

水易
相逢何必曾相识●缘聚缘散皆是缘
级别: 论坛版主

 分享一个鼠标跟随的时针特效

0
代码
Copy code
<script language="JavaScript">
<!--
fcol='aecae5';//face colour.
sCol='ff0000';//seconds colour.
mCol='aecae5';//minutes colour.
hCol='aecae5';//hours colour.
ClockHeight=40;
ClockWidth=40;
ClockFromMouseY=80;
ClockFromMouseX=0;

//Alter nothing below! Alignments will be lost!

H='...';
H=H.split('');
M='....';
M=M.split('');
S='.....';
S=S.split('');
msg='1 2 3 4 5 6 7 8 9 10 11 12';
font='Arial';
size=1;
speed=0.5;
ns=(document.layers);
ie=(document.all);
msg=msg.split(' ');
n=msg.length;
a=size*10;
ymouse=0;
xmouse=0;
scrll=0;
props="<font face="+font+" size="+size+" color="+fcol+">";
Split=360/n;
HandHeight=ClockHeight/4.5
HandWidth=ClockWidth/4.5
HandY=-7;
HandX=-2.5;
scrll=0;
y=new Array();
x=new Array();
Y=new Array();
X=new Array();
for (i=0; i < n; i++){
y[i]=0;
x[i]=0;
Y[i]=0;
X[i]=0;
}
if (ns){
for (i=0; i < n; i++)
document.write('<layer name="nsFace'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props+msg[i]+'</font></center></layer>');
for (i=0; i < S.length; i++)
document.write('<layer name=nsSeconds'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+sCol+'><center><b>'+S[i]+'</b></center></font></layer>');
for (i=0; i < M.length; i++)
document.write('<layer name=nsMinutes'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+mCol+'><center><b>'+M[i]+'</b></center></font></layer>');
for (i=0; i < H.length; i++)
document.write('<layer name=nsHours'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+hCol+'><center><b>'+H[i]+'</b></center></font></layer>');
}
if (ie){
document.write('<div id="Of" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < n; i++)
document.write('<div id="ieFace" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center">'+props+msg[i]+'</font></div>');
document.write('</div></div>');

document.write('<div id="Oh" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < H.length; i++){
document.write('<div id="ieHours" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+hCol+';text-align:center;font-weight:bold">'+H[i]+'</div>');
}
document.write('</div></div>');
document.write('<div id="Om" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < M.length; i++){
document.write('<div id="ieMinutes" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+mCol+';text-align:center;font-weight:bold">'+M[i]+'</div>');
}
document.write('</div></div>')
document.write('<div id="Os" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < S.length; i++){
document.write('<div id="ieSeconds" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+sCol+';text-align:center;font-weight:bold">'+S[i]+'</div>');
}
document.write('</div></div>')
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = (ns)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFromMouseY;
xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;
}
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function ClockAndAssign(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.575 + Math.PI * hr/6+ Math.PI*parseInt(time.getMinutes())/360;
if (ie){
Of.style.top=window.document.body.scrollTop;
Oh.style.top=window.document.body.scrollTop;
Om.style.top=window.document.body.scrollTop;
Os.style.top=window.document.body.scrollTop;
}
for (i=0; i < n; i++){
var F=(ns)?document.layers['nsFace'+i]:ieFace[i].style;
F.top=y[i] + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;
F.left=x[i] + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);
}
for (i=0; i < H.length; i++){
var HL=(ns)?document.layers['nsHours'+i]:ieHours[i].style;
HL.top=y[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;
HL.left=x[i]+HandX+(i*HandWidth)*Math.cos(hrs);
}
for (i=0; i < M.length; i++){
var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes[i].style;
ML.top=y[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll;
ML.left=x[i]+HandX+(i*HandWidth)*Math.cos(min);
}
for (i=0; i < S.length; i++){
var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds[i].style;
SL.top=y[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll;
SL.left=x[i]+HandX+(i*HandWidth)*Math.cos(sec);
}
}
function Delay(){
scrll=(ns)?window.pageYOffset:0;
y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (var i=1; i < n; i++){
y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);
}
ClockAndAssign();
setTimeout('Delay()',20);
}
if (ns||ie)window.onload=Delay;
//-->
</script>


演示:
http://www.zlcp.net/sybbs/时针特效.htm
[ 此贴被水易在2007-12-07 15:03重新编辑 ]
本帖最近评分记录:
  • 威望:+10(吗啡) 好东西
  • 威望:+10(东东sky) 优秀文章
  • 搜索更多相关文章:水易
    顶端 Posted: 2007-10-13 11:41 | [楼 主]
    东东sky
    稀里哗啦东东sky王子殿下!
    级别: 荣誉会员

     

    效果不错``
    诚招友情链接,有意者留言!
    东东SKY论坛找管理,有意者联系QQ。
    http://www.xddsky.cn←东东sky王子猪娱乐社区

    顶端 Posted: 2007-10-13 15:12 | 1 楼
    阿牛
    级别: 侠客

     

    不行呀.我加到CSS后面没有一点效果
    不要点→
    顶端 Posted: 2007-10-13 19:00 | 2 楼
    水易
    相逢何必曾相识●缘聚缘散皆是缘
    级别: 论坛版主

     

    Quote:
    引用第2楼阿牛于2007-10-13 19:00发表的  :
    不行呀.我加到CSS后面没有一点效果

    请检查代码的完整性以及你代码加的位置!一定可以,你没有看到我的演示吗?
    顶端 Posted: 2007-10-13 19:24 | 3 楼
    小小麻雀
    最近顺过头了.....162
    级别: 风云使者

     

    谢谢分享~
    厭杀的黄昏很美,虐似我梦中的︶ㄣ厭★虐し

    顶端 Posted: 2007-10-13 19:27 | 4 楼
    vickyの梦樱
    级别: 圣骑士

     

    啊。。。。现在打都打不开- -
    請叫我v~~大抽之人我也。
    顶端 Posted: 2007-10-13 20:14 | 5 楼
    阿牛
    级别: 侠客

     

    是不是直接将你给的代码复制到CSS里.
    不要点→
    顶端 Posted: 2007-10-13 21:02 | 6 楼
    阿牛
    级别: 侠客

     

    还有一个问题.演示的背景是黑色的.看起来比较漂亮.
    如果论坛的背景是白色的.就不怎么样了.
    不要点→
    顶端 Posted: 2007-10-13 22:37 | 7 楼
    水易
    相逢何必曾相识●缘聚缘散皆是缘
    级别: 论坛版主

     

    白色背景的可以改变字体的颜色啊。楼上的为什么不能灵活点呢?!

    当然,本人不建议放在论坛里,可以放在音画帖子里增加帖子的欣赏性!
    顶端 Posted: 2007-10-14 10:18 | 8 楼
    阿牛
    级别: 侠客

     

    多次试验不成功.哎.
    不要点→
    顶端 Posted: 2007-10-14 10:36 | 9 楼
    « 1 234» Pages: ( 1/4 total )
    帖子浏览记录 版块浏览记录
    Uu1001免费论坛官方站 » 站长交流


    Time now is:09-07 02:01, Gzip enabled 浙ICP备06052510号
    Powered by PHPWind & Uu1001 v2.0 Certificate Code © 2003-08 PHPWind.com Corporation