js根据鼠标移动速度背景图片自动旋转的方法


Posted in Javascript onFebruary 28, 2015

本文实例讲述了js根据鼠标移动速度背景图片自动旋转的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>js实现图片快速旋转围绕的鼠标</title>

<meta http-equiv="content-type" content="text/html;charset=gb2312">

</head>

<body>

<script language="JavaScript">

<!--

var images='/favicon.ico';

var amount=7;

var speed=1;

var RunTime = 0;

var cntr=0;

var xcntr=100;

var pulse=25;

var Xpos = 0;

var Ypos = 0;

var _y;

var temp;

/*If you use an image larger or smaller than the one I've used

the cursor will be off center.Alter the 2 variables below to center it.*/

var UpDown=-10;

var LeftRight=-5;

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;visibility:hidden">');

document.write('</div>');

document.write('</div>');

function FollowMouse(){

Xpos = document.body.scrollLeft+event.x+UpDown;

Ypos = document.body.scrollTop+event.y+LeftRight;

}

document.onmousemove = FollowMouse;

}

else if (document.layers){

window.captureEvents(Event.MOUSEMOVE);

function xFollowMouse(evnt){

Xpos = evnt.pageX+UpDown;

Ypos = evnt.pageY+LeftRight;

}

window.onMouseMove = xFollowMouse;

for (ns=0; ns < amount; ns++)

document.write("<LAYER NAME='n"+ns+"' LEFT='0' TOP='0' VISIBILITY='HIDE'><IMG SRC='"+images+"'></LAYER>");

}

function msi(){

if (document.layers){

for ( i = 0 ; i < ns ; i++ )

{

temp="n"+i

document.layers[0].visibility='show';

document.layers[0].top = Ypos+cntr*Math.cos((RunTime+i*4.5)/5);

document.layers[0].left =Xpos+cntr*Math.sin((RunTime+i*4.5)/5);

}

cntr+=1;

RunTime+=speed;

stp=setTimeout('msi()',10);

if (cntr>=100)

{

cntr=100;

speed=2.5;

for ( i = 0 ; i < ns ; i++ )

{

temp="n"+i

document.layers[temp].visibility='show';

document.layers[temp].top=Ypos+cntr*Math.cos((RunTime-100)*i/90);

document.layers[temp].left=Xpos+cntr*Math.sin((RunTime-100)*i/90);

}

}

if (RunTime>182)

{

speed=0.5;

for ( i = 0 ; i < ns ; i++ )

{

temp="n"+i

document.layers[temp].top=Ypos+xcntr*Math.cos(((RunTime-182)+i*4.5)/5);

document.layers[temp].left=Xpos+xcntr*Math.sin(((RunTime-182)+i*4.5)/5)*Math.cos((RunTime-182)/5);

}

}

}

else if (document.all){

for (i=0;i<ieDiv.all.c.all.length;i++)

{

ieDiv.all.c.all[0].style.visibility='visible';

ieDiv.all.c.all[0].style.top=Ypos+cntr*Math.cos((RunTime+i*4.5)/5);

ieDiv.all.c.all[0].style.left=Xpos+cntr*Math.sin((RunTime+i*4.5)/5);

}

cntr+=1;

RunTime+=speed;

stp=setTimeout('msi()',10);

if (cntr>=100)

{

cntr=100;

speed=2.5;

for (i=0;i<ieDiv.all.c.all.length;i++)

{

ieDiv.all.c.all[i].style.visibility='visible';

ieDiv.all.c.all[i].style.top=Ypos+cntr*Math.cos((RunTime-100)*i/90);

ieDiv.all.c.all[i].style.left=Xpos+cntr*Math.sin((RunTime-100)*i/90);

}

}

if (RunTime>182)

{

speed=0.5;

for (i=0;i<ieDiv.all.c.all.length;i++)

{

ieDiv.all.c.all[i].style.top=Ypos+xcntr*Math.cos(((RunTime-182)+i*4.5)/5);

ieDiv.all.c.all[i].style.left=Xpos+xcntr*Math.sin(((RunTime-182)+i*4.5)/5)*Math.cos((RunTime-182)/5);

}

}

}

if (RunTime>210)

{

xcntr-=10;

}

if (document.layers)

_y=-window.innerWidth-90;

else if (document.all)

_y=-document.body.clientWidth-90;

if (xcntr <= _y)

{

RunTime=0;

speed=1;

cntr=0;

xcntr=100;

}

}

msi()

//-->

</script>

<script language="Javascript">

<!--

function selectAll(theField){

var tempval=eval("document."+theField)

tempval.focus()

tempval.select()

}

//-->

</script>

</body>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
理解JavaScript的caller,callee,call,apply
Apr 28 Javascript
Ext JS添加子组件的误区探讨
Jun 28 Javascript
jquery自定义下拉列表示例
Apr 25 Javascript
JS插件overlib用法实例详解
Dec 26 Javascript
原生js实现addClass,removeClass,hasClass方法
Apr 27 Javascript
使用jquery.form.js实现图片上传的方法
May 05 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
Jun 25 Javascript
JavaScript面试技巧之数组的一些不low操作
Mar 22 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
javascript刷新父页面方法汇总详解
Oct 10 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
Feb 28 #Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 #Javascript
JS网页在线获取鼠标坐标值的方法
Feb 28 #Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 #Javascript
常用的JavaScript模板引擎介绍
Feb 28 #Javascript
JavaScript操作Cookie详解
Feb 28 #Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 #Javascript
You might like
PHP文件操作实现代码分享
2011/09/01 PHP
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
php实现mysql封装类示例
2014/05/07 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP实现的DES加密解密实例代码
2016/04/06 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
Python读写Excel文件的实例
2013/11/01 Python
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
python在命令行下使用google翻译(带语音)
2014/01/16 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
法学研究生自我鉴定范文
2013/12/04 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
网吧消防安全制度
2014/01/28 职场文书
标准单位租车协议书
2014/09/23 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python
Python中re模块的元字符使用小结
2022/04/07 Python