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 相关文章推荐
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
JQuery优缺点分析说明
Jun 09 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
May 08 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
js判断是否为空和typeof的用法(详解)
Oct 07 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
vue弹窗插件实战代码
Sep 08 Javascript
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
JavaScript工具库之Lodash详解
Jun 15 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
Dec 10 Javascript
Typescript类型系统FLOW静态检查基本规范
May 25 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将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
广告业务员岗位职责
2014/02/06 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
通报表扬范文
2015/01/17 职场文书
教师节校长致辞
2015/07/31 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
亲情作文之母爱
2019/09/25 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL