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 cache缓存问题
Jul 01 Javascript
js自定义事件及事件交互原理概述(二)
Feb 01 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
js网页滚动条滚动事件实例分析
May 05 Javascript
JavaScript实现获得所有兄弟节点的方法
Jul 23 Javascript
jquery操作ID带有变量的节点实例
Dec 07 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 Javascript
基于JavaScript实现带缩略图的轮播效果
Jan 12 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
用JS实现选项卡
Mar 23 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 Javascript
微信小程序实现底部弹出模态框
Nov 18 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引用(&amp;)
2014/09/04 PHP
php中return的用法实例分析
2015/02/28 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Python异常的检测和处理方法
2018/10/26 Python
Python检查ping终端的方法
2019/01/26 Python
python中嵌套函数的实操步骤
2019/02/27 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
汽车运用工程专业求职信
2014/06/18 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
母亲节感言
2015/08/03 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
JS实现数组去重的11种方法总结
2022/04/04 Javascript
Oracle用户管理及赋权
2022/04/24 Oracle
python pygame 开发五子棋双人对弈
2022/05/02 Python
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS