Forums » Java Script & Java Applet

Adicionar Efeito de Estrelas no Mouse

  • Oliveira Dario
    • 435 posts
    9 de setembro de 2015 14:21:37 ART

    <script type='text/javascript'>
    var colour="#FF0000";
    var sparkles=50;
    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
    var rats=createDiv(3, 3);
    rats.style.visibility="hidden";
    document.body.appendChild(tiny=rats);
    starv=0;
    tinyv=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=rats);
    }
    set_width();
    sparkle();
    }}
    function sparkle() {
    var c;
    if (x!=ox || y!=oy) {
    ox=x;
    oy=y;
    for (c=0; 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
    if (starv[c]) update_star(c);
    if (tinyv[c]) update_tiny(c);
    }
    setTimeout("sparkle()", 40);
    }
    function update_star(i) {
    if (--starv==25) star.style.clip="rect(1px, 4px, 4px, 1px)";
    if (starv) {
    stary+=1+Math.random()*3;
    if (stary
    star.style.top=stary+"px";
    starx+=(i%5-2)/5;
    star.style.left=starx+"px";
    }
    else {
    star.style.visibility="hidden";
    starv=0;
    return;
    }
    }
    else {
    tinyv=50;
    tiny.style.top=(tinyy=stary)+"px";
    tiny.style.left=(tinyx=starx)+"px";
    tiny.style.width="2px";
    tiny.style.height="2px";
    star.style.visibility="hidden";
    tiny.style.visibility="visible"
    }
    }
    function update_tiny(i) {
    if (--tinyv==25) {
    tiny.style.width="1px";
    tiny.style.height="1px";
    }
    if (tinyv) {
    tinyy+=1+Math.random()*3;
    if (tinyy
    tiny.style.top=tinyy+"px";
    tinyx+=(i%5-2)/5;
    tiny.style.left=tinyx+"px";
    }
    else {
    tiny.style.visibility="hidden";
    tinyv=0;
    return;
    }
    }
    else tiny.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>


    Este post foi editado por Oliveira Dario em 9 de setembro de 2015 14:25:05 ART"