js根据鼠标移动速度背景图片自动旋转的方法

 更新时间:2015年02月28日 10:53:44   投稿:shichen2014  
这篇文章主要介绍了js根据鼠标移动速度背景图片自动旋转的方法,实例分析了javascript操作鼠标与图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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变量类型

    详细分析JavaScript变量类型

    本文给大家详细分析了javascript中的6种变量类型,通过示例做了详细的解释,十分的实用,对于大家熟练掌握变量类型非常有帮助,有需要的小伙伴可以参考下。
    2015-07-07
  • javascript 特性检测并非浏览器检测

    javascript 特性检测并非浏览器检测

    NCZ在他的同名博客《Feature detection is not browser detection》中,讲述了一直以来前端开发中的一个热门技术——检测用户的浏览器平台,并详细地叙说历史发展以及各种办法的优缺点。
    2010-01-01
  • JavaScript图像延迟加载库Echo.js

    JavaScript图像延迟加载库Echo.js

    Echo 是一个独立的 JavaScript 懒加载图像的工具,快速、体积小(不足1k)和使用 HTML5 的 data- 属性,通过本文给大家介绍JavaScript图像延迟加载库Echo.js ,感兴趣的朋友一起学习吧
    2016-04-04
  • ES6 class类实现继承实例详解

    ES6 class类实现继承实例详解

    传统的javascript中只有对象,没有类的概念,下面这篇文章主要给大家介绍了关于ES6 class类实现继承的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • JS对象复制(深拷贝和浅拷贝)

    JS对象复制(深拷贝和浅拷贝)

    这篇文章主要介绍了JS对象复制(深拷贝和浅拷贝),并附有详细代码,感兴趣的小伙伴们,可以参考下
    2021-04-04
  • JS匿名函数类生成方式实例分析

    JS匿名函数类生成方式实例分析

    这篇文章主要介绍了JS匿名函数类生成方式,结合实例形式分析了javascript匿名函数类相关属性与方法定义与使用技巧,需要的朋友可以参考下
    2016-11-11
  • ionic实现滑动的三种方式

    ionic实现滑动的三种方式

    这篇文章主要为大家详细介绍了ionic实现滑动的三种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 微信小程序实现选项卡功能

    微信小程序实现选项卡功能

    这篇文章主要为大家详细介绍了微信小程序实现选项卡功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 如何减少浏览器的reflow和repaint

    如何减少浏览器的reflow和repaint

    本文主要是结合自己的一些项目经验,给大家提出了几点减少浏览器reflow和repaint的方法和注意事项,希望对大家能有所帮助。
    2015-02-02
  • 微信小程序调用腾讯地图API文档JavaScript SDK和WebService API详细解读

    微信小程序调用腾讯地图API文档JavaScript SDK和WebService API详细解读

    本文介绍了如何使用腾讯位置服务,包括申请开发者密钥、获取小程序APPID、下载地图SDK、设置服务器域名白名单等步骤,详细说明了如何在微信小程序中集成腾讯位置服务,进行地图展示和周边搜索等功能的实现,同时提醒注意API的调用次数和权限限制,需要的朋友可以参考下
    2024-09-09

最新评论