Foros del Web » Programando para Internet » Javascript »

[APORTE] EasyCheckbox

Estas en el tema de [APORTE] EasyCheckbox en el foro de Javascript en Foros del Web. Hola, Cree un script para crear checkbox, pero no de los comunes. Estos son distintos. Con imagen. Aqui esta el codigo: Código HTML: /***************************************************************\ * ...
  #1 (permalink)  
Antiguo 10/09/2008, 16:19
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
[APORTE] EasyCheckbox

Hola,
Cree un script para crear checkbox, pero no de los comunes.
Estos son distintos. Con imagen.
Aqui esta el codigo:
Código HTML:
/***************************************************************\
*                            EasyCheckbox                        *
******************************************************************
* Autor        : pato12 de forosdelweb.com                       *
* Version      : 1.0 (BETA)                                      *
* Web del autor: VideosYao.Tk                                    *
* Imagen       :                                                 *
* http://www.host-image.com.ar/registrados/pato12_4ee6b5ec93.png *
* Este codigo es libre de uso, siempre cuando no se borren las   *
* lineas de creditos (estas).                                    *
\*****************************************************************/
var s=false;
var dato;
var nombre;
var image="http://www.host-image.com.ar/registrados/pato12_4ee6b5ec93.png";
var action_sin="enseima_sin";
var action_con="enseima_con";
var action_s_n="enseima_sin_con";
var sin_action="nada";
function $id(e){
return document.getElementById(e);
}
function ac_tr(t,e){
if(t && !s){
e.className=action_sin;
}else if(t && s){
e.className=action_s_n;
}else if(!t && !s){
e.className=sin_action;
}else if(!t && s){
e.className=action_con;
}
}
function act_tp(t,e){
if(t && !s){
e.className=action_s_n;
s=true;
$id(nombre).value=dato;
}else if(t && s){
e.className=action_con;
s=false;
$id(nombre).value="";
}else if(!t && s){
e.className=action_con;
}else if(!t && !s){
e.className=action_sin;
}
}
function escribir(e){
with (document) {
writeln(e);
}
}
function checkbox(name,date){
dato=date;
nombre=name;
html='<samp onMouseOver="ac_tr(true,this);" class="'+sin_action+'" onMouseOut="ac_tr(false,this);" onMouseDown="act_tp(true,this);" onMouseUp="act_tp(false,this);">&nbsp;&nbsp;</samp>';
html+='<input name="'+nombre+'" type="hidden" id="'+nombre+'" value="">';
/////////////////
style='<style>';
style+='.'+action_sin+' {    background-image: url('+image+');    background-repeat: no-repeat;    background-position: -3px -28px;    cursor:default;}';
style+='.'+sin_action+' {    background-image: url('+image+');    background-repeat: no-repeat;    background-position: -3px -3px;    cursor:default;}';
style+='.'+action_s_n+' {    background-image: url('+image+');    background-repeat: no-repeat;    background-position: -3px -78px;    cursor:default;}';
style+='.'+action_con+' {    background-image: url('+image+');    background-repeat: no-repeat;    background-position: -3px -53px;    cursor:default;}';
style+='</style>';
escribir(style);
escribir(html);
}
La direcion de la imagen es esta:
http://www.host-image.com.ar/registr...4ee6b5ec93.png
El codigo esta listo para usar.
Lo unico que deves hacer es:
Guardar el codigo de arriba como EasyCheckbox.js
En un archivo nuevo (HTML, PHP, o lo que quieran) poner:
Código HTML:
<script src="EasyCheckbox.js"></script>
<script>checkbox('nombre_checkbox','activado');</script>
<input onClick="alert(nombre_checkbox.value);" type="button" name="Button" value="Ver que tiene el checkbox">
<input type="checkbox" name="checkbox" value="checkbox"> 
checkbox('nombre_checkbox','que_enviara_si_esta_ac tivado');
Es facil, ¿no?
Gracias
Salu2
__________________
Half Music - www.halfmusic.com

Última edición por pato12; 10/09/2008 a las 16:52
  #2 (permalink)  
Antiguo 10/09/2008, 19:28
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: [APORTE] EasyCheckbox

Creo que pudiste haber creado un objeto lo que lo haría mas portable y reduciría posibles problemas de compatibilidad. Por cierto, no me gusta mucho este estilo:

function $id(e){
return document.getElementById(e);
}

desde mi punto de vista el getElementById es mas semántico. Por alguna razón se ha definido de esa manera. Se que intentas reducir el espacio y todo eso, pero te puede generar problemas de compatibilidad, especialmente si el usuario usa algún framework aparte de tu código.

De cualquier modo, buen aporte, es bueno saber que la comunidad latina tambien está empezando a ser creativa y a generar nuevos scripts. Solo tengamos cuidado, cuidemos nuestra reputación creando códigos usables, accesibles, degradables, y demas cosas que ya se saben. Por cierto, me gustaría hacer una invitación a nombrar nuestros códigos en Español, así todos saben que la comunidad latina está presente y creciendo.
__________________
twitter: @imbuzu
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:12.