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 相关文章推荐
动态为事件添加js代码示例
Feb 15 Javascript
javascript 仿QQ滑动菜单效果代码
Sep 03 Javascript
Underscore源码分析
Dec 30 Javascript
浅析JavaScript中var that=this
Feb 17 Javascript
如何写好你的JavaScript【推荐】
Mar 02 Javascript
JavaScript ES6中export、import与export default的用法和区别
Mar 14 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
深入剖析JavaScript instanceof 运算符
Jun 14 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 Javascript
JS实现电商商品展示放大镜特效
Jan 07 Javascript
详解vue-flickity的fullScreen功能实现
Apr 07 Javascript
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
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抽象类 介绍
2012/06/13 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
js实现密码强度检验
2017/01/15 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
TensorFlow损失函数专题详解
2018/04/26 Python
python 接收处理外带的参数方法
2018/12/03 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
详解python statistics模块及函数用法
2019/10/27 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
什么是反射
2012/03/17 面试题
课改先进个人汇报材料
2014/01/26 职场文书
销售主管竞聘书
2014/03/31 职场文书
单位绩效考核方案
2014/05/11 职场文书
城南旧事观后感
2015/06/11 职场文书
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers