Foros del Web » Programando para Internet » Javascript »

Botón hundido

Estas en el tema de Botón hundido en el foro de Javascript en Foros del Web. Hola a todos. Me gustaría saber si se puede hacer (seguro que sí) y si es así, cómo hacer, lo siguiente. Quiero que al pulsar ...
  #1 (permalink)  
Antiguo 21/03/2005, 05:10
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 11
Antigüedad: 20 años
Puntos: 0
Botón hundido

Hola a todos.

Me gustaría saber si se puede hacer (seguro que sí) y si es así, cómo hacer, lo siguiente.

Quiero que al pulsar sobre una celda de una tabla dé la sensación de que se hunde, pero no quiero que al soltar el botón del ratón, vuelva a su estado inicial. Es decir, quiero que se quede pulsado que al pinchar sobre él, vuelva a su estado inicial.

No me importa si se hace con elementos "button" dentro de una celda. Lo que sí me gustaría es que al hacer "click" se quede pulsado y que al hacer de nuevo "click" vuelva a su estado inicial.

Muchas gracias por adelantado.

Un saludo,

Tomás
  #2 (permalink)  
Antiguo 21/03/2005, 05:30
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola tsanchez

A ver si esto te sirve:
Código PHP:
<html>
<
head>
<
title>Untitled</title>
<
script>
function 
borde(obj) {
  if(
obj.style.borderStyle.indexOf('outset')!=-1)
    
obj.style.borderStyle='inset';
  else
    
obj.style.borderStyle='outset';
}
</script>
</head>
<body>
<table>
<tr>
<td style="border:2px inset" onclick="borde(this)">aaaaaaaa</td>
</tr>
</table>
</body>
</html> 
Saludos,
  #3 (permalink)  
Antiguo 21/03/2005, 07:40
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 11
Antigüedad: 20 años
Puntos: 0
Gracias

Muchísimas gracias, JavierB.

Es justo lo que necesitaba.

Un saludo,

Tomás
  #4 (permalink)  
Antiguo 21/03/2005, 09:14
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Me alegro de que te haya resultado útil. Hasta pronto
  #5 (permalink)  
Antiguo 21/03/2005, 10:03
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Javieeeeerr... que tienes que reducir el coooodigo

<html>
<head>
<title>Untitled</title>
<script>
function borde(obj) {
obj.style.borderStyle=(obj.style.borderStyle=='out set')?'inset':'outset';
}
</script>
</head>
<body>
<table>
<tr>
<td style="border-style:inset; border-width:1x;padding:5px;" onclick="borde(this)">Hola!</td>
</tr>
</table>
</body>
</html>

Un saludo!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 21/03/2005, 10:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
KarlanKaaaaaass... que tienes que reducir el coooodigo

<td style="border:1px inset;padding:5px;" onclick="borde(this)">Hola!</td>

Además fijate en un detalle: en Firefox al consultar el valor de obj.style.borderStyle te devuelve outside outside outside outside, mientras que en IE solo devuelve outside. Así que la función debería quedar algo así:
Código:
function borde(obj) {
obj.style.borderStyle=(obj.style.borderStyle.indexOf('outset')!=-1)?'inset':'outset';
}
Saludos,

P.D. Ya te habrás dado cuenta que vBulletin pone espacios donde le parece. En este caso ha separado la palabra indexOf

Última edición por JavierB; 21/03/2005 a las 10:28
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 13:36.