Foros del Web » Programando para Internet » Javascript »

Un interruptor que active/desactive función Javascript

Estas en el tema de Un interruptor que active/desactive función Javascript en el foro de Javascript en Foros del Web. Muy buenas Estoy utilizando la siguiente función en una web para hacer que el puntero vaya dejando una imagen como estela Código: <script language="JavaScript1.2"> <!-- ...
  #1 (permalink)  
Antiguo 20/04/2006, 10:09
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años
Puntos: 0
Un interruptor que active/desactive función Javascript

Muy buenas

Estoy utilizando la siguiente función en una web para hacer que el puntero vaya dejando una imagen como estela

Código:
<script language="JavaScript1.2"> 
<!-- 

var largo = 12 // Largo de la estela (8 por defecto) 
var ruta = "/templates/247portal-b-blue2/ball.gif" // Ubicación de la imagen 

var isIE = false,isNav = false,range = "all.",style = ".style",i,d = 0 
var topPix = ".pixelTop",leftPix = ".pixelLeft",imagenes,restoimg 

if (document.layers) { 
isNav = true,range = "layers.",style = "",topPix = ".top",leftPix = ".left" 
} else if (document.all) { 
isIE = true 
} 
function empezar() { 
imagenes = new Array() 
for (i = 0; i < parseInt(largo); i++) { 
imagenes[i] = new Image() 
imagenes[i].src = ruta 
} 
restoimg = new Array() 
for (i = 0; i < imagenes.length*3; i++) { 
restoimg[i] = 0 
} 
for (i = 0; i < imagenes.length; i++) { 
(isIE) ? document.write('<div id="obj' + i + '" style="position: absolute; z-Index: 100; height: 0; width: 0"><img src="' + imagenes[i].src + '"></div>') : document.write('<layer name="obj' + i + '" width="0" height="0" z-index="100"><img src="' + imagenes[i].src + '"></layer>') 
} 
estela() 
} 
function estela() { 
for (i = 0; i < imagenes.length; i++) { 
eval("document." + range + "obj" + i + style + topPix + "=" + restoimg[d]) 
eval("document." + range + "obj" + i + style + leftPix + "=" + restoimg[d+1]) 
d = d+2 
} 
for (i = restoimg.length; i >= 2; i--) { 
restoimg[i] = restoimg[i-2] 
} 
d = 0 
var timer = setTimeout("estela()",10) 
} 
function procesar(e) { 
if (isIE) { // para IE 
restoimg[0] = window.event.y+document.body.scrollTop+10 
restoimg[1] = window.event.x+document.body.scrollLeft+10 
} else { // para Netscape Navigator 
restoimg[0] = e.pageY+12 
restoimg[1] = e.pageX+12 
} 
} 
if (isNav) { 
document.captureEvents(Event.MOUSEMOVE) 
} 
if (isIE || isNav) { 
empezar() 
document.onmousemove = procesar 
}
//--> 
</script>

Funciona sin problemas, pero intento buscar una manera con la que activar/desactivar esa función, mediante un enlace/interruptor en la web. Por ejemplo...



Código:
<script>
var n=0
function interruptor(){
n++;
if(n%2==0){return "1";} else return "0";
}
</script>
Con una función que cambia el valor del "interruptor"



Código:
<a href=# onclick="alert(interruptor()">Interruptor</a>
Y el enlace que la llama...



Pero de ahi no paso... ¿Alguien sabe como hacerlo?
  #2 (permalink)  
Antiguo 04/05/2006, 11:00
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Puedes hacerlo así:

Mete lo de la estela del ratón en una función; haz otra función que devuelva el puntero a "normal", y pon una capa con un botón que al darle ejecute una y se cambie por otra capa que muestra un botón que al darle ejecuta la otra y se cambie de nuevo.
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:52.