Foros del Web » Programando para Internet » Javascript »

esto es para quien le guste botones que tengan movimiento

Estas en el tema de esto es para quien le guste botones que tengan movimiento en el foro de Javascript en Foros del Web. como puedo parar una función que esta en movimiento, para que no se ponga sobre otra función esta ejemplo funciona bien, pero cuando coloco el ...
  #1 (permalink)  
Antiguo 22/11/2011, 04:19
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
esto es para quien le guste botones que tengan movimiento

como puedo parar una función que esta en movimiento, para que no se ponga sobre otra función
esta ejemplo funciona bien, pero cuando coloco el maus encima y lo quita rapido como diez veces, no sabe que hacer, si la funcion onMouseOver o onMouseOut
aquí les dejo el ejemplo funcionando
les va encantar, solo hay que mejorarlo ojala alguien me pueda ayudar
http://cursosdematematicas.com/boton123.php
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  5. <title>contador</title>
  6. <script type="text/javascript">
  7. var cont2 = 0;
  8. function cambio_color(){
  9.  var unos = document.getElementById("uno");   //esto es para que vean los valores del contador pero lo pueden borrar
  10.  unos.innerHTML = cont2;                      //esto es para que vean los valores del contador pero lo pueden borrar
  11.    cont2+=10;
  12.        
  13.  if(cont2 <= 160){
  14.    var cambiar = document.getElementById("div1").style.backgroundPosition="0"+"-"+cont2+"px";  
  15.                   }else{
  16.                          clearInterval(a);     //con esto detengo el movimiento y lo dejo en 160
  17.                         cont2=160;
  18.                         }  
  19.                         }
  20. function regresar_color(){
  21.                           var unos = document.getElementById("uno");   //esto es para que vean los valores del contador pero lo pueden borrar
  22.                           unos.innerHTML = cont2;                      //esto es para que vean los valores del contador pero lo pueden borrar
  23.                           cont2-=10;
  24.                                  if(cont2 >= 0){
  25.                                                  var cambiar = document.getElementById("div1").style.backgroundPosition="0"+ "-" +cont2+"px";  
  26.                                                }else{
  27.                                                       clearInterval(b);          //con esto detengo el movimiento y lo dejo en 0
  28.                                                       cont2=0;
  29.                                                       }  
  30.                       }
  31. </script>
  32. </head>
  33. <body >
  34. <div id="div1"
  35. class="a" style="width:300px; background-image:url(boton_g.gif); height:150px; background-repeat: no-repeat;"
  36. onMouseOver="a=setInterval('cambio_color()',100)" onMouseOut="b=setInterval('regresar_color()',100)" > </div>
  37. <div id="uno"></div>
  38. </body>
  39. </html>

Última edición por jor_0203; 22/11/2011 a las 05:19
  #2 (permalink)  
Antiguo 22/11/2011, 10:16
Avatar de Franz1628  
Fecha de Ingreso: marzo-2007
Ubicación: Lima - Perú
Mensajes: 145
Antigüedad: 17 años, 1 mes
Puntos: 26
Respuesta: esto es para quien le guste botones que tengan movimiento

No es bueno utilizar variables globales pero ya arregle tu codigo.
prueba con este códgo y analizalo.
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. <title>contador</title>
  4. <script type="text/javascript">
  5. cont2=0;a='';b='';
  6. function cambio_color1(){
  7.     clearInterval(b);
  8.     a = setInterval(cambio_color,100);
  9. }
  10. function regresar_color1(){
  11.     clearInterval(a);
  12.     b = setInterval(regresar_color,100);
  13. }
  14. function cambio_color(){
  15.     var unos = document.getElementById("uno");   //esto es para que vean los valores del contador pero lo pueden borrar
  16.     unos.innerHTML = cont2;                      //esto es para que vean los valores del contador pero lo pueden borrar
  17.     cont2+=10;
  18.     if(cont2 <= 160){
  19.         var cambiar = document.getElementById("div1").style.backgroundPosition="0"+"-"+cont2+"px";  
  20.     }else{
  21.         clearInterval(a);     //con esto detengo el movimiento y lo dejo en 160
  22.         cont2=160;
  23.     }  
  24.                        }
  25. function regresar_color(){
  26.     var unos = document.getElementById("uno");   //esto es para que vean los valores del contador pero lo pueden borrar
  27.     unos.innerHTML = cont2;                      //esto es para que vean los valores del contador pero lo pueden borrar
  28.     cont2-=10;
  29.     if(cont2 >= 0){
  30.         var cambiar = document.getElementById("div1").style.backgroundPosition="0"+ "-" +cont2+"px";  
  31.     }else{
  32.         clearInterval(b);          //con esto detengo el movimiento y lo dejo en 0
  33.         cont2=0;
  34.     }  
  35. }
  36. </head>
  37. <body >
  38. <div id="div1"
  39. class="a" style="width:300px; background-image:url('boton_g.gif'); height:150px; background-repeat: no-repeat;"
  40. onMouseOver="cambio_color1()" onMouseOut="regresar_color1()" > </div>
  41. <div id="uno"></div>
  42. </body>
  43. </html>

Saludos
__________________
En mi Blog puedes ver articulos javascript y más...
@Franz1628
  #3 (permalink)  
Antiguo 22/11/2011, 14:27
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: esto es para quien le guste botones que tengan movimiento

antes que nada mil gracias a la aportación de Franz1628
esto muchachos les puede servir para hacer menús con movimiento
realmente tuve una idea, pero me falta tener más capacidad al programar, ya que me dio algunos problemas y no los podía resolver
Franz1628 lo resolvió y nos puso el código para que lo podamos usar
Si algunos quieren mejorar o aportar mejoras para efectos están
bienvenidos todos sus aportes
  #4 (permalink)  
Antiguo 23/11/2011, 01:40
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: esto es para quien le guste botones que tengan movimiento

antes que nada saludos a todos y a mi buen amigo Franz1628
mira lo que estoy haciendo con el código que me ayudaste a mejorar
aunque tiene unas fallas muy chicas es cuestión de mejorar
les pido ayuda a los web master ya que esta función esta muy padre y ya casi esta terminada
pueden checarla en este link solo tiene un error que es que se encuentran las funciones y no se como cancelas las funciones cuando este otra.
http://cursosdematematicas.com/boton4.php
vean como funcionas



Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <title>contador</title>
  6. <script type="text/javascript">
  7. cont2=0;a='';b='';
  8. function cambio_color1(me){
  9.                          clearInterval(b);
  10.                          a = setInterval( function(){cambio_color(me) },100 );
  11.                            }
  12. function regresar_color1(me){
  13.                            clearInterval(a);
  14.                              b = setInterval( function(){regresar_color(me) },100 );
  15.                             }
  16. function cambio_color(me){
  17. var unos = document.getElementById("uno");   //esto es para que vean los valores del contador pero lo pueden borrar
  18. unos.innerHTML = cont2;
  19.  var  n=me;                     //esto es para que vean los valores del contador pero lo pueden borrar
  20.                        cont2+=4;
  21.                        if(cont2 <= 20){
  22.                        var cambiar = document.getElementById(n).style.backgroundPosition="0"+"-"+cont2+"px";  
  23.                                         }else{
  24.                                               clearInterval(a);     //con esto detengo el movimiento y lo dejo en 160
  25.                                               cont2=20;
  26.                                              }  
  27.                            }
  28. function regresar_color(me){
  29. var unos = document.getElementById("uno");   //esto es para que vean los valores del contador pero lo pueden borrar
  30. unos.innerHTML = cont2;                      //esto es para que vean los valores del contador pero lo pueden borrar
  31.         var  n1=me;  
  32.                           cont2-=1;
  33.                           if(cont2 >= 0){
  34.                            var cambiar = document.getElementById(n1).style.backgroundPosition="0"+ "-" +cont2+"px";  
  35.                                          }else{
  36.                                                clearInterval(b);          //con esto detengo el movimiento y lo dejo en 0
  37.                                                cont2=0;
  38.                                               }  
  39.                           }
  40. </script>
  41.     <style type="text/css">
  42. <!--
  43. body {
  44.     background-color: #996633;
  45. }
  46.  
  47. .menu {
  48.     background-color: #FF33CC;
  49.     position: relative;
  50.     overflow:hidden;
  51. }
  52. .menu ul li{
  53.     list-style-type: none;
  54.     float: left;
  55.     width: 100px;
  56.     margin-right: 5px;
  57.     height: 20px;
  58.     text-align: center;
  59.     color: #FF0000;
  60.     background-image: url(jjjj.gif);
  61. }
  62.  
  63. -->
  64.     </style>
  65. </head>
  66.     <body >
  67.    
  68.    
  69.     <div id="uno"></div>
  70.    
  71.     <div class="menu">
  72.       <ul >
  73.         <li id="me" onMouseOver="cambio_color1('me')" onMouseOut="regresar_color1('me')">home</li>
  74.         <li  id="me2" onMouseOver="cambio_color1('me2')" onMouseOut="regresar_color1('me2')">ventas</li>
  75.         <li  id="me3"onMouseOver="cambio_color1('me3')" onMouseOut="regresar_color1('me3')">dise&ntilde;o</li>
  76.         <li  id="me4" onMouseOver="cambio_color1('me4')" onMouseOut="regresar_color1('me4')">artes</li>
  77.         <li  id="me5" onMouseOver="cambio_color1('me5')" onMouseOut="regresar_color1('me5')">comedia</li>
  78.        
  79.       </ul>
  80.     </div>
  81.    
  82. </body>
  83.     </html>
  #5 (permalink)  
Antiguo 23/11/2011, 08:39
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: esto es para quien le guste botones que tengan movimiento

Cita:
saludos isabel
estoy haciendo un menus con movimiento con puro javascript franz1628 me esta ayudando
espero que te sirva , te mando el link del ejemplo ya casi resuelto http://cursosdematematicas.com/boton4.php
tiene unas fallitas que no perfecciono, ojala me puedas dar tu valiosa opinión
http://www.forosdelweb.com/f13/esto-...miento-959474/
gracias
ya han sido en 9 ocasiones en las que me dejas menajes de visita pidiéndome que te ayude con distintos códigos. y ya han sido varias las ocasiones que tanto por mensaje de visita como por mp te he respondido que esa herramienta no ha de ser usada con esa finalidad.

espero que esta sea la última vez que ocurre. cuando me interese un tema participaré
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: botones, funcion, html, movimiento, php
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 03:15.