Foros del Web » Programando para Internet » Javascript »

Bola que rebota en pantalla, que se pare al poner raton encima

Estas en el tema de Bola que rebota en pantalla, que se pare al poner raton encima en el foro de Javascript en Foros del Web. Holaaa, tengo este código en java de una pelota que rebota por la pantalla y me gustaría que cuando páso el ratón por encima esta ...
  #1 (permalink)  
Antiguo 24/10/2008, 02:15
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Bola que rebota en pantalla, que se pare al poner raton encima

Holaaa, tengo este código en java de una pelota que rebota por la pantalla y me gustaría que cuando páso el ratón por encima esta se parara, y cuando se quitara el ratón volviera a moverse. ¿Alguien me puede ayudar?. Muchas gracias por anticipado.

Un saludo
Mario

<html>

<head>
<title>Bola rebotando 3</title>
<p align="center"><b>Bola rebotando 3</b></p>

<script language="JavaScript">
<!-- hide script from old browsers

/*[*] SCRIPT: Bouncing Image Script COPYRIGHT: © 1999 Hass[*] AUTHOR: Lloyd Hassell EMAIL: [email protected][*] WWW: http://go.to/hass[*] Permission granted to Dynamicdrive.com to feature script in archive[*] Modified by Dynamicdrive.com for feature alteration[*] For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

//Configure the below three variables (BallSpeed from 1 to 50, larger is faster)
var ballWidth = 40;
var ballHeight = 40;
var BallSpeed = 8;
var stopafter=0; //set time in seconds before ball disappears. Use 0 for never

var maxBallSpeed = 50;
var xMax;
var yMax;
var xPos = 0;
var yPos = 0;
var xDir = 'right';
var yDir = 'down';
var superballRunning = true;
var tempBallSpeed;
var currentBallSrc;
var newXDir;
var newYDir;

function stopit(){
clearTimeout(doit)
if (document.getElementById)
document.getElementById("superball").style.visibil ity="hidden"
else if (document.all)
document.all("superball").style.visibility = "hidden";
else
document.layers["superball"].visibility = "hide";
}

function initializeBall() {
if (document.all) {
xMax = document.body.clientWidth
yMax = document.body.clientHeight
document.all("superball").style.visibility = "visible";
}
else if (document.layers||document.getElementById) {
xMax = window.innerWidth-14;
yMax = window.innerHeight;
if (document.getElementById)
document.getElementById("superball").style.visibil ity="visible"
else
document.layers["superball"].visibility = "show";
}
setTimeout('moveBall()',400);
if (stopafter>0)
setTimeout("stopit()",stopafter*1000)
}


function moveBall() {
if (superballRunning == true) {
calculatePosition();
if (document.all) {
document.all("superball").style.left = xPos + document.body.scrollLeft;
document.all("superball").style.top = yPos + document.body.scrollTop;
}
else if (document.layers) {
document.layers["superball"].left = xPos + pageXOffset;
document.layers["superball"].top = yPos + pageYOffset;
}
else if (document.getElementById) {
document.getElementById("superball").style.left = xPos + pageXOffset;
document.getElementById("superball").style.top = yPos + pageYOffset;
}
doit=setTimeout('moveBall()',30);
}
}

function calculatePosition() {
if (xDir == "right") {
if (xPos > (xMax - ballWidth - BallSpeed)) {
xDir = "left";
}
}
else if (xDir == "left") {
if (xPos < (0 + BallSpeed)) {
xDir = "right";
}
}
if (yDir == "down") {
if (yPos > (yMax - ballHeight - BallSpeed)) {
yDir = "up";
}
}
else if (yDir == "up") {
if (yPos < (0 + BallSpeed)) {
yDir = "down";
}
}
if (xDir == "right") {
xPos = xPos + BallSpeed;
}
else if (xDir == "left") {
xPos = xPos - BallSpeed;
}
else {
xPos = xPos;
}
if (yDir == "down") {
yPos = yPos + BallSpeed;
}
else if (yDir == "up") {
yPos = yPos - BallSpeed;
}
else {
yPos = yPos;
}
}

if (document.all||document.layers||document.getElemen tById){
window.onload = initializeBall;
window.onresize = new Function("window.location.reload()");
}

// end hiding from old browsers -->
</script>

<style type="text/css">

#superball {
position:absolute;
left:0;
top:0;
visibility:hide;
visibility:hidden;
width:40;
height:40;
}

</style>
</head>

<BODY style="font-family: Verdana">
<span id="superball"><a href="http://www.dynamicdrive.com"><img name="superballImage" src="superball.gif" height="40" width="40" border="0"></a></span>

<p align="center">Imágenes:<br>
<a href="superball.gif">superball.gif</a></p>

</body>

</html>
  #2 (permalink)  
Antiguo 24/10/2008, 08:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Bola que rebota en pantalla, que se pare al poner raton encima

No he mirado todo el código pero básicamente lo que hace es mover por la pantalla el elemento <span> con id "superball". Así que si usas los eventos onmouseover y onmouseout (entrada y salida del cursor respectivamente) puedes lograr el resultado deseado.

P.S.: Esos efectos suelen ser mal vistos por la mayoría de los visitantes .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 27/10/2008, 03:09
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Bola que rebota en pantalla, que se pare al poner raton encima

Ok, muchas gracias lo probaré.

un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.