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 相关文章推荐
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
jQuery ajax 路由和过滤器使用说明
Aug 02 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
JavaScript常用函数工具集:lao-utils
Mar 01 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
浅谈JavaScript中数组的增删改查
Jun 20 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
详解JavaScript类型判断的四种方法
Oct 21 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
我的群发邮件程序
2006/10/09 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python海龟绘图实例教程
2014/07/24 Python
Python多进程编程技术实例分析
2014/09/16 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
python datetime中strptime用法详解
2019/08/29 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python 音频生成器的实现示例
2019/12/24 Python
python异步Web框架sanic的实现
2020/04/27 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
法务专员岗位职责
2014/01/02 职场文书
小学运动会口号
2014/06/07 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
爱心捐款活动总结
2015/05/09 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书