Foros del Web » Programando para Internet » Javascript »

problema con script

Estas en el tema de problema con script en el foro de Javascript en Foros del Web. problema con script o mi cabeza jajaja.. Bueno lo que quiero hacer es lograr deslizar la capa "divtapa" y mostrar el formulario que contiene. los ...
  #1 (permalink)  
Antiguo 14/03/2011, 18:16
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
problema con script

problema con script o mi cabeza jajaja..
Bueno lo que quiero hacer es lograr deslizar la capa "divtapa" y mostrar el formulario que contiene. los efectos los hago con la libreria Spry.. Cuando presiono el enlace "Nuevo" la capa oculta se desliza hacia abajo y muestra dicho contenido, para cerrarlo es con el enlace "Ocultar" entonces este divtapa se desliza hacia arriba tapando el contenido.. pero la misma funcion la hace el enlace "Nuevo" y lo que yo quiero es que al ser pulsado por primera vez el enlace "Nuevo" la capa de deslise pero que cuando lo vuelva a presionar no lo deslize de vuelta hacia su lugar

Saludos y gracias aquel que me logre ayudar!!!

codigo..
Código HTML:
<html>
<head>
<title>Usuarios</title>
<script>
function enviar_formulario(){
   document.formulario1.submit()
}
</script> 
<script src="SpryAssets/SpryEffects.js" type="text/javascript"></script>
<script type="text/javascript">
<!--

function MM_effectBlind(targetElement, duration, from, to, toggle)
{
	
	Spry.Effect.DoBlind(targetElement, {duration: duration, from: from, to: to, toggle: toggle});
	
}
function efec(targetElement, duration, from, to, toggle)
{
	
	Spry.Effect.DoBlind(targetElement, {duration: duration, from: from, to: to, toggle: toggle});
	
}


//-->
</script>
<style type="text/css">

body {
    font-family: Arial,Helvetica,sans-serif;
	font-size:11px:
	}
a{
    color: #0B55C4;
    text-decoration: none;
	font-size:11px;
	font-weight:bold;
}
#divtapa{
	position:absolute;
	width:190px;
	height:100px;
	z-index:999;
	background-color:#FFFFFF;


}
</style>
<script type="text/javascript">
function desactivar(enlace)
{
enlace.disabled='disabled';
}

</script>
</head>
<body>
<div id="botones">

<label>
<a href="javascript:MM_effectBlind('divtapa', 500, '100%', '0%', true)" name="button" type="button" id="formu2" onclick="desactivar(this)"/>Nuevo</a>

  </label>
<a href="javascript:enviar_formulario()">Eliminar</a><br>

</div>

  


<form action ="usuarios.php" method="POST" id="form11" name="form11">
<div id="divtapa" > </div>
	<div id="div1">

Usuario: <input type="text" name="usuarios"><br>
Contraseña:<input type="text" name="contrasena"><br>
permiso:<input type="text" name="permiso"><br>
<input type="submit" value="aceptar" name="boton">

</div>
</form>	
<label>
<a href="#" name="button" type="button" id="formu2" onclick="efec('divtapa', 500, '100%', '0%', true)" />Ocultar</a>

  </label>
</form>







no exuste




</body>
</html>



  #2 (permalink)  
Antiguo 14/03/2011, 18:25
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: problema con script

Y pues no uses Toggle. Toggle significa conmutar. Lo que quiere decir que si estaba mostrando, se oculta y viceversa.

La línea que dice:
Código Javascript:
Ver original
  1. javascript:MM_effectBlind('divtapa', 500, '100%', '0%', true)
Debería ser:
Código Javascript:
Ver original
  1. javascript:MM_effectBlind('divtapa', 500, '0%', '100%', false)

Usando false en toggle y además de 0% a 100% (pues lo estás mostrando). Si lo querés ocultar harías de 100% a 0%.

Espero te sirva. Un saludo.

-edit-
Lo mismo va para el botón de ocultar. No uses toggle.
  #3 (permalink)  
Antiguo 14/03/2011, 19:40
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: problema con script

Cita:
Iniciado por Naahuel Ver Mensaje
Y pues no uses Toggle. Toggle significa conmutar. Lo que quiere decir que si estaba mostrando, se oculta y viceversa.

La línea que dice:
Código Javascript:
Ver original
  1. javascript:MM_effectBlind('divtapa', 500, '100%', '0%', true)
Debería ser:
Código Javascript:
Ver original
  1. javascript:MM_effectBlind('divtapa', 500, '0%', '100%', false)

Usando false en toggle y además de 0% a 100% (pues lo estás mostrando). Si lo querés ocultar harías de 100% a 0%.

Espero te sirva. Un saludo.

-edit-
Lo mismo va para el botón de ocultar. No uses toggle.

Sin el toggle no funciona ninguno.. osea no hace nada..
igualmente si lo hago asi cuando presiono 2 veces en "Nuevo" vuelve a deslizarce y eso es lo que no quiero que haga quiero que baje, bloquee el boton1. se habilite el otro, y al ser presionado se deshabilite y se deslize hacia arriba...
  #4 (permalink)  
Antiguo 14/03/2011, 19:57
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: problema con script

Yo lo he probado y funciona. Es cierto que hace eso que decís, que presionando de nuevo en "Nuevo" vuelve a deslizarse.
Para ser honesto no conozco esa librería, prefiero jQuery. Voy a hacer lo que vos querés en jQuery y a lo mejor te sirve o podés traducirla. Sino, habrá que esperar que alguien que conozca mejor esa librería te ayude.
Código HTML:
Ver original
  1. <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'></script>
  2.     #mostrame{
  3.         position:fixed;
  4.         left:40%;
  5.         top:0;
  6.         width:200px;
  7.         height:200px;
  8.         background: yellow;
  9.         display:none;
  10.     }
  11.     $(document).ready(function(){
  12.         //al hacer click en mostrar:
  13.         $('#mostrar').click(function(evento){
  14.             evento.preventDefault()
  15.             $('#mostrame:hidden').slideDown();
  16.         });
  17.         //al hacer click en ocultar:
  18.         $('#ocultar').click(function(evento){
  19.             evento.preventDefault()
  20.             $('#mostrame:visible').slideUp();
  21.         });
  22.    
  23.     });
  24. </head>
  25. <div id="contenedor">
  26.     <div id="mostrame">
  27.         <p>Me ven y no me ven</p>
  28.     </div>
  29.     <a href="#" id="mostrar">Mostrar </a> | <a href="#" id="ocultar">Ocultar</a>
  30. </div>
  31. </body>
  32. </html>


Ese pequeño ejemplo hace lo que necesitás. A mi forma de ver, jQuery es mucho más sencillo. El problema que tenías lo he solucionado en dos líneas. Acá lo podés ver funcionar:
http://jsbin.com/afuce4

Observá que no importa cuantas veces clickees mostrar, sólo se muestra una sola vez. Esto es gracias al selector de jQuery que filtra con ':visible' o ':hidden'.

Realmente espero que te sirva, lamento no poder ayudarte con SpryEffects. Un saludo.
  #5 (permalink)  
Antiguo 14/03/2011, 21:02
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: problema con script

muy interesante, muchas gracias !! :)

Etiquetas: Ninguno
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 12:17.