pcdicasHTML

Script - Exemplos - Acompanhando o mouse 2

Esse script exibe um efeito colorido que acompanha o mouse conforme o internauta o mova sobra a tela.


Mova o mouse e verifique.

Código



//Pretty - http://www.btinternet.com/~kurt.grigg/javascript

if ((document.getElementById) &&
window.addEventListener || window.attachEvent){

(function(){

//Configure here.

var colours = new Array("#ff0000","#00ff00"); //Add as many colours as you like!
var numberOfDots = 14;
var setTimeOutSpeed = 40; //Timeout speed!
var followMouseSpeed = 0.03; //Must be less than 1 & greater than 0!
var twistAndSpinSpeed = 0.04;
var colourChangeSpeed = 2;

//End config.
var idx = document.getElementsByTagName('div').length;
for (i = 0; i < numberOfDots; i++){
document.write('<div id="dvs'+(idx+i)+'" style="position:absolute;top:0px;left:0px;'
+'width:1px;height:1px;background-color:'+colours[0]+';font-size:1px"><\/div>');
}
var h,y,ref;
var d = document;
var domWw = (typeof window.innerWidth == "number");
var domSy = (typeof window.pageYOffset == "number");
var pi = 3.1415/180;
var buff = 74;
var the_dots = [];
var ev = 360/numberOfDots;
var step2 = 1;
var pix = "px";
var y = 0;
var x = 0;
var ry = 0;
var rx = 0;
var dy = 0;
var dx = 0;
var sy = 0;
var sx = 0;
var scy = 0;
var scx = 0;
var counter1 = idx;
var counter2 = 0;
var counter3 = 0;
var step1 = 0;

if (followMouseSpeed <= 0 || followMouseSpeed >= 1){
followMouseSpeed = 0.1;
}

if (domWw) ref = window;
else{
if (d.documentElement &&
typeof d.documentElement.clientWidth == "number" &&
d.documentElement.clientWidth != 0)
ref = d.documentElement;
else{
if (d.body &&
typeof d.body.clientWidth == "number")
ref = d.body;
}
}

function winSize(){
var mozBar = ((domWw) && ref.innerWidth != d.documentElement.offsetWidth)?20:0;
h = (domWw)?ref.innerHeight:ref.clientHeight;
w = (domWw)?ref.innerWidth - mozBar:ref.clientWidth;
}

function scrolled(){
if (domWw){
scy = ref.pageYOffset;
scx = ref.pageXOffset;
}
else{
scy = ref.scrollTop;
scx = ref.scrollLeft;
}
}

function mouse(e){
var msy = (domSy)?window.pageYOffset:0;
if (!e) e = window.event;
if (typeof e.pageY == "number"){
y = e.pageY - msy;
x = e.pageX;
}
else{
y = e.clientY - msy;
x = e.clientX;
}
}

function colourStep(){
counter1 += step2;
if (counter1 >= numberOfDots+idx){
counter1 = idx;
counter2 += step2;
}
if (counter2 == colours.length){
counter2 = 0;
}
scrolled();
document.getElementById("dvs"+counter1).style.backgroundColor = colours[counter2];
}

function DoItAll(){
counter3++;
step1 -= twistAndSpinSpeed;

dy = ry+=(y-ry)*followMouseSpeed;
dx = rx+=(x-rx)*followMouseSpeed;
if (ry >= h-buff){
ry = h-buff;
}
if (ry <= buff){
ry = buff;
}
if (rx >= w-buff){
rx = w-buff;
}
if (rx <= buff){
rx = buff;
}
if (counter3 > colourChangeSpeed){
colourStep();
counter3 = 0;
}

for (i = 0; i < numberOfDots; i++){
the_dots[i].top = ry + 70 * Math.cos(step1 + i * ev * pi) * Math.sin(step1/2) + scy + pix;
the_dots[i].left = rx + 70 * Math.sin(step1 + i * ev * pi) * Math.cos(1+step1/2) + scx + pix;
}

setTimeout(DoItAll,setTimeOutSpeed);
}

function init(){
for (i = 0; i < numberOfDots; i++){
the_dots[i] = document.getElementById("dvs"+(idx+i)).style;
}
winSize();
DoItAll();
}

if (window.addEventListener){
window.addEventListener("resize",winSize,false);
window.addEventListener("load",init,false);
document.addEventListener("mousemove",mouse,false);
}
else if (window.attachEvent){
window.attachEvent("onresize",winSize);
window.attachEvent("onload",init);
document.attachEvent("onmousemove",mouse);
}

})();
}//End.



Como colocar o código na página

1. Usar o arquivo pretty.js:

a. Criar o arquivo pretty.js com o seguinte conteúdo:
(criar como pretty.txt e renomear para js)

ou

b. Copiar o arquivo pretty comprimido (zip) clicando aqui. Descompactá-lo e deixar o arquivo js resultante com os outros arquivos que compõem a página

Em 1a ou 1b, colocar no código da página, em qualquer ponto entre <body> e </body>:

<script type="text/javascript" src="pretty.js"></script>

ou

2. Copiar o código acima diretamente na página, em qualquer ponto entre <body> e </body>.

Particularidades

Nota: as cores e o número e a velocidade dos pontos poderão ser escolhidas e alteradas nessa parte do script:

As cores (colours) e o número (number) e a velocidade (speed) dos pontos (dots) poderão ser escolhidas e alteradas nessa parte do script:

var colours = new Array("#ff0000","#00ff00"); //Add as many colours as you like! ... em que #FF0000 =, vermelho, e #00FF00 = verde,

var numberOfDots = 14;
var setTimeOutSpeed = 40; //Timeout speed!
var followMouseSpeed = 0.03; //Must be less than 1 & greater than 0!
var twistAndSpinSpeed = 0.04;

Nota: Poderão ser adicionadas mais cores.


Veja detalhes sobre cores e HTML aqui



Exemplo: Olha o teu jardim e o teu coração

Exemplo com cores alteradas: Caixinha de surpresas

Esse script foi recebido por e-mail ou gravado a partir de sites visitados.
Desconheço a existência de quaisquer restrições ao seu uso não comercial.
Caso tenha registro, solicito ao detentor entrar em contato.



Este "site", destinado prioritariamente aos alunos de Fátima Conti,
pretende auxiliar quem esteja começando a se interessar por internet,
segue as regras da FDL (Free Documentation Licence),
computadores e programas, estando em permanente construção.
Sugestões e comentários são bem vindos.
Se desejar colaborar, clique aqui.
Agradeço antecipadamente.

Deseja enviar essa página?


Se você usa um programa de correio eletrônico devidamente configurado e tem
um e-mail pop3, clique em "Enviar página" (abaixo) para abrir o programa.
Preencha o endereço do destinatário da mensagem.
E pode acrescentar o que quiser.
(Se não der certo, clique aqui para saber mais).

Enviar página

Se você usa webmail copie o endereço abaixo

http://www.cultura.ufpa.br/dicas/htm/htm-scri8.htm


Acesse a página do seu provedor. Abra uma nova mensagem.
Cole o endereço no campo de texto.
Preencha o endereço do destinatário.
E também pode acrescentar o que quiser.

Última alteração: 26 mai 2008