找回密码
 注册
搜索
热搜: java php web
查看: 235|回复: 3

[未解决] 求助呀!!!一篇JavaScript的鼠标特效代码需要注解!!!

[复制链接]
发表于 2009-12-25 21:44:01 | 显示全部楼层 |阅读模式
期末的作业,老师要求上网下特效自己注解,我注了两个,这是第三个了,实在觉得有够复杂,大概似乎都看得懂些,详细的就完蛋了!!!
请求高手帮帮忙吧```我一新手,刚注册也不大熟那边,只是真的急求各位帮忙了!!谢谢大家了!!!

<script language="JavaScript">                //第三个特效:环绕着鼠标飞的鸟
<!--  
var images='1.jpg';                        //定义使用的图片
var amount=8;                                //定义8个环绕于鼠标周围的飞鸟
var yBase = 150;                        //定义图片的大小
var xBase = 200;
var step = 0.2;                                //定义飞行速度
var currStep = 0;
var Xpos = 5;
var Ypos = 5;
var i = 0;
var j = 0;

if(document.all){
        document.write('<div id="ieDiv" style="position:absolute;top:0px;left:0px">')
        document.write('<div id="c" style="position:relative">');
        for (n=0; n < amount; n++)
        document.write('<img src="'+images+'" style="position:absolute;top:0px;left:0px">')
        document.write('</div>')
        document.write('</div>')

        function MsieMouseFollow(){
                Xpos = document.body.scrollLeft+event.x-5;                //设定横坐标
                Ypos = document.body.scrollTop+event.y-5;                //设定纵坐标
                }
        document.onmousemove = MsieMouseFollow;                //绑定鼠标移动这一事件
        }
else if (document.layers){
        window.captureEvents(Event.MOUSEMOVE);
        for (ns=0; ns < amount; ns++)
        document.write("<LAYER NAME='n"+ns+"' LEFT=0 TOP=0><IMG SRC='"+images+"'></LAYER>");
                function NsMouseFollow(evnt){
                Xpos = evnt.pageX-5;
                Ypos = evnt.pageY-5;
                }
        window.onMouseMove = NsMouseFollow;
        }

function Swirl(){
        if (document.all){
                yBase = window.document.body.offsetHeight/4;
                xBase = window.document.body.offsetWidth/4;
                }
        else if (document.layers){
                yBase = window.innerHeight/4;
                xBase = window.innerWidth/4;
                }
        if (document.all){
                for (i=0;i<ieDiv.all.c.all.length;i++){
                        ieDiv.all.c.all[i].style.top = Ypos + Math.cos((20*Math.sin(currStep/20))+i*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + i*25)/10);
                        ieDiv.all.c.all[i].style.left = Xpos + Math.sin((20*Math.sin(currStep/20))+i*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + i*25)/10);
                        }
                }
        else if (document.layers){
                for ( j = 0 ; j < ns ; j++ ) //7 is number of NS layers!{
                        var temp="n"+j
                        document.layers[temp].top = Ypos + Math.cos((20*Math.sin(currStep/20))+j*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/10);
                        document.layers[temp].left =Xpos + Math.sin((20*Math.sin(currStep/20))+j*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/10);
                        }
                }
currStep += step;
setTimeout("Swirl()", 10);
}
Swirl();
</script>
 楼主| 发表于 2009-12-25 23:04:56 | 显示全部楼层
大家也说说话嘛!!!
回复

使用道具 举报

发表于 2009-12-29 10:19:12 | 显示全部楼层
新手帮补上你
回复

使用道具 举报

发表于 2010-1-7 13:11:45 | 显示全部楼层
恩,注意2点

document.layers和document.all 是为了判断explorer的类型

还有,那些属性 step, currentStep等等,认真看math那块
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 15:05

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表