当前位置:编程学习 > JS >>

跟随鼠标旋转的星星

跟随鼠标旋转的星星,快把鼠标指向这个!看一下是不是很棒的效果?星星图片有点大了,想使用本效果的朋友可重新制作一张星星的图片,我想最终效果肯定是不错的。
答案:<html>
<head>
<title>随鼠标旋转的星星-特效预览</title>
<script>
<!-- Beginning of JavaScript -
var x,y
var step=5
var flag=1
var pause
var timersmall
var timerbig
var isbigcircle=1
var pause=50
var bigradius
var smallradius=50
var startwinkel=1
var imgnumber=12
var imgsrc="/jscss/demoimg/201204/xingxing.gif"
var xcenter
var xcenter
var pi= Math.PI
function onresizer() {
	clearTimeout(timerbig)
	clearTimeout(timersmall)
	initiate()
}

function initiate() {
	var initiatetimer=setTimeout("initiate2()",2000)
}

function initiate2() {
	if (document.layers) {
		xcenter=Math.floor(screen.width/2)
		ycenter=Math.floor(window.innerHeight/2)
	}
	if (document.all) {
		xcenter=Math.floor(document.body.clientWidth/2)
		ycenter=Math.floor(document.body.clientHeight/2)
		
	}
	bigradius=ycenter
	bigcircle()
}

function handlerMM(e){
	x = (document.layers) ? e.pageX : event.clientX
	y = (document.layers) ? e.pageY : event.clientY
	flag=1
}

function bigcircle() {
	if (isbigcircle==1) {
		if (document.all) {
			for (i=1; i<=imgnumber; i++) {
    			var thisspan = eval("document.all.span"+(i)+".style")
    			thisspan.posLeft=((xcenter-20)*Math.cos(startwinkel*(pi/180)))+xcenter
				thisspan.posTop=((ycenter-20)*Math.sin(startwinkel*(pi/180)))+ycenter
				startwinkel=startwinkel+30
    		}
		}
		if (document.layers) {
			for (i=1; i<=imgnumber; i++) {
    			var thisspan = eval("document.span"+i)
    			thisspan.left=((xcenter-150)*Math.cos(startwinkel*(pi/180)))+(xcenter-145)
				thisspan.top=((ycenter-20)*Math.sin(startwinkel*(pi/180)))+ycenter
				startwinkel=startwinkel+30
    		}
		}
		step=step+5
		startwinkel=step
		timerbig=setTimeout("bigcircle()",pause)
	}
	else {
		isbigcircle=0
		clearTimeout(timerbig)
	}
}

function presmallcircle() {
	isbigcircle=0
	clearTimeout(timerbig)
	smallcircle()
}

function prebigcircle() {
	isbigcircle=1
	clearTimeout(timersmall)
	bigcircle()
}

function smallcircle() {
	if (isbigcircle==0) {
		if (document.all) {
			for (i=1; i<=imgnumber; i++) {
    			var thisspan = eval("document.all.span"+(i)+".style")
    			thisspan.posLeft=(smallradius*Math.cos(startwinkel*(pi/180)))+x
				thisspan.posTop=(smallradius*Math.sin(startwinkel*(pi/180)))+y
				startwinkel=startwinkel+30
    		}
		}
		if (document.layers) {
			for (i=1; i<=imgnumber; i++) {
    			var thisspan = eval("document.span"+i)
    			thisspan.left=(smallradius*Math.cos(startwinkel*(pi/180)))+x
				thisspan.top=(smallradius*Math.sin(startwinkel*(pi/180)))+y
				startwinkel=startwinkel+30
    		}
		}
		step=step+5
		startwinkel=step
		timersmall=setTimeout("smallcircle()",pause)
	}
	else {
		isbigcircle=0
		clearTimeout(timersmall)
	}
}

 window.onoad=initiate()
// - End of JavaScript - -->
</script>

<style>
.spanstyle {
	position:absolute;
	visibility:visible;
	top:-50px;
	font-size:10pt;
	font-family:Verdana;
	color:FF0000
}
.explain {
	position:absolute; 
	top:40px; 
	left:10px; 
	width:560px; 
	color: 000000;
	text-align:center;
	font-size:9pt;
	font-family:Arial;
	font-weight:bold;
}
A { font-family: Arial,Helvetica,sans-serif; 
	color: #000000;
	text-decoration:underline 
}
A:visited { 
	color: #000000;
}
</style>
</head>
<body bgcolor="#FFFFFF">
<p align="center"> </p>
<script>
<!-- Beginning of JavaScript -

for (i=1;i<=imgnumber;i++) {
    document.write("<span id='span"+i+"' class='spanstyle'>")
	document.write("<img src='"+imgsrc+"'>")
    document.write("</span>")
}

if (document.layers){
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;
document.onresize = onresizer;

// - End of JavaScript - -->
</script>
<div id="source" class="explain" style="left: 111px; top: 143px"><a href="http://qdjacky.126.com"
target="_blank" onMouseOver="presmallcircle()" onMouseOut="prebigcircle()"> 
  <p>快把鼠标指向这个!看一下是不是很棒的效果!</p>
  </a>
</div>
<p><br>
<br>
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p align="center" style="line-height: 20px"><font color="#666666"><span
style="font-size: 9pt"><br>
  </span></font><span
style="font-size: 9pt"><br>
  </span></p>
<span
style="font-size: 9pt"> 
<p align="center" style="line-height: 20px">
<font face="Arial, Helvetica, sans-serif" color="#666666"></font>  </p>
</span></body>
</html>

上一个:jQuery无刷新图片放大,在当前页查看原图
下一个:图片滚动代码,图片链接上下滚动效果

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,