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随机切换图片的小例子
Apr 18 Javascript
JS定时刷新页面及跳转页面的方法
Jul 04 Javascript
jquery退出each循环的写法
Feb 26 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 Javascript
jquery实现动静态条形统计图
Aug 17 Javascript
jQuery实现简单滚动动画效果
Apr 07 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 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设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
理解Javascript_09_Function与Object
2010/10/16 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
javascript实现简易计算器
2017/02/01 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Django 实现下载文件功能的示例
2018/03/06 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python中import与from方法总结(推荐)
2019/03/21 Python
Python数据类型之List列表实例详解
2019/05/08 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
python写入文件自动换行问题的方法
2019/07/05 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
爸爸的花儿落了教学反思
2014/02/20 职场文书
个人自我剖析材料
2014/09/30 职场文书
2014年副班长工作总结
2014/12/10 职场文书
紧急通知
2015/04/17 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
计算机实训心得体会
2016/01/14 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python