Wednesday, February 24, 2010

鼠标效果[pointer effect](散落的星星)

Share



<script type="text/javascript">

// <![CDATA[

var colour="#666666";

var sparkles=40;


var x=ox=400;

var y=oy=300;

var swide=800;

var shigh=600;

var sleft=sdown=0;

var tiny=new Array();

var star=new Array();

var starv=new Array();

var starx=new Array();

var stary=new Array();

var tinyx=new Array();

var tinyy=new Array();

var tinyv=new Array();

window.onload=function() { if (document.getElementById) {

var i, rats, rlef, rdow;

for (var i=0; i<sparkles; i++) {

var rats=createDiv(3, 3);

rats.style.visibility="hidden";

document.body.appendChild(tiny[i]=rats);

starv[i]=0;

tinyv[i]=0;

var rats=createDiv(5, 5);

rats.style.backgroundColor="transparent";

rats.style.visibility="hidden";

var rlef=createDiv(1, 5);

var rdow=createDiv(5, 1);

rats.appendChild(rlef);

rats.appendChild(rdow);

rlef.style.top="2px";

rlef.style.left="0px";

rdow.style.top="0px";

rdow.style.left="2px";

document.body.appendChild(star[i]=rats);

}

set_width();

sparkle();

}}

function sparkle() {

var c;

if (x!=ox || y!=oy) {

ox=x;

oy=y;

for (c=0; c<sparkles; c++) if (!starv[c]) {

star[c].style.left=(starx[c]=x)+"px";

star[c].style.top=(stary[c]=y)+"px";

star[c].style.clip="rect(0px, 5px, 5px, 0px)";

star[c].style.visibility="visible";

starv[c]=50;

break;

}

}

for (c=0; c<sparkles; c++) {

if (starv[c]) update_star(c);

if (tinyv[c]) update_tiny(c);

}

setTimeout("sparkle()", 40);

}

function update_star(i) {

if (--starv[i]==25) star[i].style.clip="rect(1px, 4px, 4px, 1px)";

if (starv[i]) {

stary[i]+=1+Math.random()*3;

if (stary[i]<shigh+sdown) {

star[i].style.top=stary[i]+"px";

starx[i]+=(i%5-2)/5;

star[i].style.left=starx[i]+"px";

}

else {

star[i].style.visibility="hidden";

starv[i]=0;

return;

}

}

else {

tinyv[i]=50;

tiny[i].style.top=(tinyy[i]=stary[i])+"px";

tiny[i].style.left=(tinyx[i]=starx[i])+"px";

tiny[i].style.width="2px";

tiny[i].style.height="2px";

star[i].style.visibility="hidden";

tiny[i].style.visibility="visible"

}

}

function update_tiny(i) {

if (--tinyv[i]==25) {

tiny[i].style.width="1px";

tiny[i].style.height="1px";

}

if (tinyv[i]) {

tinyy[i]+=1+Math.random()*3;

if (tinyy[i]<shigh+sdown) {

tiny[i].style.top=tinyy[i]+"px";

tinyx[i]+=(i%5-2)/5;

tiny[i].style.left=tinyx[i]+"px";

}

else {

tiny[i].style.visibility="hidden";

tinyv[i]=0;

return;

}

}

else tiny[i].style.visibility="hidden";

}

document.onmousemove=mouse;

function mouse(e) {

set_scroll();

y=(e)?e.pageY:event.y+sdown;

x=(e)?e.pageX:event.x+sleft;

}

function set_scroll() {

if (typeof(self.pageYOffset)=="number") {

sdown=self.pageYOffset;

sleft=self.pageXOffset;

}

else if (document.body.scrollTop || document.body.scrollLeft) {

sdown=document.body.scrollTop;

sleft=document.body.scrollLeft;

}

else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {

sleft=document.documentElement.scrollLeft;

sdown=document.documentElement.scrollTop;

}

else {

sdown=0;

sleft=0;

}

}

window.onresize=set_width;

function set_width() {

if (typeof(self.innerWidth)=="number") {

swide=self.innerWidth;

shigh=self.innerHeight;

}

else if (document.documentElement && document.documentElement.clientWidth) {

swide=document.documentElement.clientWidth;

shigh=document.documentElement.clientHeight;

}

else if (document.body.clientWidth) {

swide=document.body.clientWidth;

shigh=document.body.clientHeight;

}

}

function createDiv(height, width) {

var div=document.createElement("div");

div.style.position="absolute";

div.style.height=height+"px";

div.style.width=width+"px";

div.style.overflow="hidden";

div.style.backgroundColor=colour;

return (div);

}

// ]]>

</script>


许多人看到鼠标滑动时出现像星星一闪一闪的东西飘出来
那是pointer effect[鼠标效果],你只需要copy以上的code
paste到Html里的<head> </head>之间就可以了



By:kenchy

25 comments:

水精灵0 said... 回复此评论

嗨~
为什么这个我弄不到の?

Kenchy said... 回复此评论

原因是你已经有雪花效果了=)
通常有了雪花效果就不能用鼠标效果
说他们相克又不是@@
因为有些人依然能同时两者并用

LinG▶ said... 回复此评论

oo~
原来~
那么我只能两者择其一了~
呵呵~
谢谢^^

戴妏倩... said... 回复此评论

这个不能换颜色吗??

Kenchy said... 回复此评论

可以哦=)
你在上面找
#666666

将他换成你要的颜色代码就可以了=)

戴妏倩... said... 回复此评论

可是我不知道颜色的代码呀~~

Kenchy said... 回复此评论

你上google找color code
就会有很多了=)

Xxiao~綺° said... 回复此评论

謝謝你de分享^^

[ J e a l o u s ] said... 回复此评论

做么我弄不到这个?

Kenchy said... 回复此评论

不能同时使用2个pointer efect哦

[ J e a l o u s ] said... 回复此评论

有字就不能了?

Kenchy said... 回复此评论

对,只能选其中一个=)

[ J e a l o u s ] said... 回复此评论

哦给~
谢谢~

傑聖 said... 回复此评论

怎样说head和/head之间呢?
有图吗?能教教我?

Kenchy said... 回复此评论

你到Layouts-->Edit HTML
然后在键盘上按Ctrl+F找<head>
找到之后再<head>下面放上代码就可以了=)

Chris said... 回复此评论

T.T
我弄不到...

Kenchy said... 回复此评论

你是放在<head>的下面吗?

i'm kooL said... 回复此评论

哇 谢谢你哦 我弄到了
可是。。为什么不是❤型の = =

Kenchy said... 回复此评论

Chris said... 回复此评论

好象是。。。
要放同排吗?

Chris said... 回复此评论

弄到了~~
TQ~

Kenchy said... 回复此评论

不客气=)

梦梦 said... 回复此评论

我弄到了,只是为什么那个闪闪的那么少的?
而且好像没有跟着我的滑鼠走的,然后好像在旁边弄的时候比较多那个闪闪的。
为什么这样的呢?

Kenchy said... 回复此评论

我看了你的部落格,是这个吧?
http://mengmeng96.blogspot.com/
没有看到任何效果,你讲右键copy封锁了对吧?
应该是那个的关系

rubbish said... 回复此评论

太利害了.

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment