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 相关文章推荐
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
js数字转换为float,取N位小数
Feb 08 Javascript
IE8中使用javascript动态加载CSS的解决方法
Jun 17 Javascript
了不起的node.js读书笔记之node.js中的特性
Dec 22 Javascript
jQuery实现列表的全选功能
Mar 18 Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
Feb 25 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
Sep 20 Javascript
JS解决移动web开发手机输入框弹出的问题
Mar 31 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 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 魔术函数使用说明
2010/02/21 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
解决Python中回文数和质数的问题
2019/11/24 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
Python requests设置代理的方法步骤
2020/02/23 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
Python如何生成xml文件
2020/06/04 Python
学生党员的自我评价范文
2014/03/01 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
围城读书笔记
2015/06/26 职场文书
2015大学迎新标语
2015/07/16 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python