Foros del Web » Programando para Internet » Javascript »

Imagen como boton de Opcion

Estas en el tema de Imagen como boton de Opcion en el foro de Javascript en Foros del Web. Hola: Como puedo hacer para usar una imagen en vez de un boton de opción??, o mejor dicho una imagen en vez de un radio ...
  #1 (permalink)  
Antiguo 09/09/2011, 12:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Imagen como boton de Opcion

Hola:

Como puedo hacer para usar una imagen en vez de un boton de opción??, o mejor dicho una imagen en vez de un radio button.

Gracias
  #2 (permalink)  
Antiguo 09/09/2011, 13:18
 
Fecha de Ingreso: septiembre-2011
Mensajes: 12
Antigüedad: 12 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Imagen como boton de Opcion

Hola:

Buscando en la web he encontrado esto (no pongo la referencia porque no sea confundido con SPAM, aunque quiero dejar claro que NO es mi codigo y que está sacado de otra web.

El ejemplo que te pongo es con un checkbox, pero no creo que haya problemas para pasarlo a lo que tu deseas con unos ligeros cambios

Se usa jquery para ello (por lo menos es lo que yo uso)

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd"
    >
<html lang="en">
<head>
    <title>Checkbox personalizado</title>
	<script src="../jquery-1.4.2.min.js"></script>
<script languague="javascript">

jQuery.fn.checkboxPersonalizado = function(opciones) {
	//opciones de configuración por defecto
	var conf = {
		activo: true,
		colorTextos: {
			activo: "#00f",
			pasivo: "#669"
		},
		textos: {
			activo: "",
			pasivo: ""
		},
		imagen: {
			activo: 'images/thumb_up.png',
			pasivo: 'images/thumb_down.png'
		},
		cssElemento: {
			padding: "2px 2px 2px 24px",
			display: "block",
			margin: "2px",
			border: "1px solid #eee",
			cursor: "pointer"
		},
		cssAdicional: {
			
		},
		nameCheck: ""
	};
	//Las extiendo con las opciones recibidas al invocar el plugin
	jQuery.extend(conf, opciones);
	
	this.each(function(){
		var miCheck = $(this);
		var activo = conf.activo
		var elementoCheck = $('<input type="checkbox" style="display: none;" />');
		if(conf.nameCheck==""){
			elementoCheck.attr("name", miCheck.text());
		}else{
			elementoCheck.attr("name", conf.nameCheck);
		}
		miCheck.before(elementoCheck);
		miCheck.css(conf.cssElemento);
		miCheck.css(conf.cssAdicional);
		
		if (activo){
			activar();
		}else{	
			desactivar();
		}
		miCheck.click(function(e){
			if(activo){
				desactivar();
			}else{	
				activar();
			}
			activo = !activo;
		});
		
		function desactivar(){
			miCheck.css({
				background: "transparent url(" + conf.imagen.pasivo + ") no-repeat 3px",
				color: conf.colorTextos.pasivo
			});
			if (conf.textos.pasivo!=""){
				miCheck.text(conf.textos.pasivo)
			}
			elementoCheck.removeAttr("checked");
		};									
		
		function activar(){
			miCheck.css({
				background: "transparent url(" + conf.imagen.activo + ") no-repeat 3px",
				color: conf.colorTextos.activo
			});
			if (conf.textos.activo!=""){
				miCheck.text(conf.textos.activo)
			}
			elementoCheck.attr("checked","1");
		};	
	});
	return this;
};	

$(document).ready(function(){
	$(".ch").checkboxPersonalizado();
	$("#otro").checkboxPersonalizado({
		activo: false,
		colorTextos: {
			activo: "#f80",
			pasivo: "#98a"
		},
		imagen: {
			activo: 'images/weather_cloudy.png',
			pasivo: 'images/weather_rain.png'
		},
		textos: {
			activo: 'Buen tiempo :)',
			pasivo: 'Buena cara ;)'
		},
		cssAdicional: {
			border: "1px solid #dd5",
			width: "100px"
		},
		nameCheck: "buen_tiempo"
	});
})
</script>
<style type="text/css">
body{
	font-family: tahoma, verdana, arial;
	font-size: 10pt;
}

</style>
</head>
<body>
    <span class="ch">Seleccionar</span>

	<span class="ch">Me interesa</span>
	<span class="ch">Oooo</span>
	<br>
	<br>
	<span id="otro">otro suelto</span>
</body>
</html> 
Espero que te sirva. Ya nos lo indicas

Un saludo
  #3 (permalink)  
Antiguo 09/09/2011, 13:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Imagen como boton de Opcion

Con usar <button><img src="http://www.forosdelweb.com/f18/imagen-como-boton-opcion-942302/..." /></button> Puedes colocar lo que quieras, solo es cuestión de modiifcar <button> con css para quitar border y algunos efectos que por defecto trae. Para los radio necesitarias ocultar el botón de radio y usar el concepto de <button>.... para hacerlo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 09/09/2011, 15:08
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Imagen como boton de Opcion

No amigos, no me funciona ninguna de las ayudas que me dieron, de cualquier manera muchas gracias, si ahy alguna opinion mas, estoy a sus disposicion
  #5 (permalink)  
Antiguo 09/09/2011, 16:12
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Imagen como boton de Opcion

Hay unas cuantas, y todas funcionan, te dejo 2
http://theodin.co.uk/blog/design/fan...ns-jquery.html
http://webdesign.maratz.com/lab/fanc...tons/demo.html

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: opcion, php, botones
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 02:05.