Somos varios los desarrolladores que tenemos un juego de snippets siempre a mano para no perder tiempo reescribiendo c贸digo id茅ntico una y otra vez.
Para los que se especialicen en el Frontend, aqu铆 les dejo un pu帽ado de snippets de Javascript y jQuery para validar e-mails, chequear la carga de im谩genes, desactivar el clic derecho del mouse, pasar par谩metros con setTimeout, crear selectores personalizados y cancelar peticiones de AJAX.
Hacer un refresh del atributo src de una imagen:
-
$(imageobj).attr('src', $(imageobj)
-
.attr('src') + '?' + Math.random() );
Chequear si una imagen fue cargada:
-
var imgsrc = 'img/image1.png';
-
$('<img/>').load(function () {
-
alert('La imagen se carg贸');
-
}).error(function () {
-
alert('Error al cargar la imagen');
-
}).attr('src', imgsrc);
Chequear si un set de im谩genes se carg贸:
Para este ejemplo, chequearemos si 10 im谩genes fueron cargadas correctamente:
-
var totalImagenes = 10;
-
var imagenesCargadas = 0;
-
$("<img/>").load(function() {
-
++imagenesCargadas;
-
if(imagenesCargadas == totalImagenes){
-
//Las 10 im谩genes fueron cargadas
-
}
-
});
Remover un texto seleccionado luego de hacer doble clic con el mouse:
-
clearSelection : function () {
-
if(document.selection && document.selection.empty) {
-
document.selection.empty();
-
} else if(window.getSelection) {
-
var sel = window.getSelection();
-
sel.removeAllRanges();
-
}
-
}
-
$(element).bind('dblclick',function(event){
-
//hacer algo
-
clearSelection();
-
});
Validar direcci贸n de e-mail (l铆nea ofuscad铆sima ^_^):
-
var email = 'info@tympanus.net' //Obviamente esta variable la tomaremos de un form o algo as铆 ^_^
-
if(!(/^((([a-z]|d|[!#$%&'*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+(.([a-z]|d|[!#$%&'*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+)*)|((x22)((((x20|x09)*(x0dx0a))?(x20|x09)+)?(([x01-x08x0bx0cx0e-x1fx7f]|x21|[x23-x5b]|[x5d-x7e]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(\([x01-x09x0bx0cx0d-x7f]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))))*(((x20|x09)*(x0dx0a))?(x20|x09)+)?(x22)))@((([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).)+(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).?$/i.test(email)))
-
alert('e-mail inv谩lido');
Ordenar 铆tems de una lista:
N贸tese que usamos la clase "para_ordenar" en la lista.
-
<ul>
-
<li>P茅rez</li>
-
<li>G贸mez</li>
-
<li>脕lvarez</li>
-
<li>Mart铆nez</li>
-
</ul>
-
-
var items = $('.para_ordenar li').get();
-
items.sort(function(a,b){
-
var keyA = $(a).text();
-
var keyB = $(b).text();
-
-
if (keyA <keyB) return -1;
-
if (keyA> keyB) return 1;
-
return 0;
-
});
-
var ul = $('.para_ordenar');
-
$.each(items, function(i, li){
-
ul.append(li);
-
});
Pasar par谩metros a una funci贸n llamada con setTimeout:
-
timeout = setTimeout(function(){myFunction(param)},time);
Desactivar el bot贸n derecho del mouse:
-
$(document).ready(function(){
-
$(document).bind("contextmenu",function(e){
-
return false;
-
});
-
});
Desvanecer una imagen y hacer aparecer otra en su reemplazo:
Usamos la variable "otroSource" que tiene que valer el src;
-
$('imageelement').fadeOut(function() {
-
$(this).load(function() {
-
$(this).fadeIn();
-
}).attr('src', otroSource);
-
});
Crear tus propios selectores:
-
//extender jQuery
-
$.extend($.expr[':'], {
-
-
//nombre del selector personalizado
-
mayorQueMil : function (a){
-
//Matcheo del elemento
-
return parseInt($(a).html())> 1000;
-
}
-
});
-
-
$(document).ready(function() {
-
$('td:mayorQueMil').css('background-color', '#ff0000');
-
});
Correr 5 veces una funci贸n con intervalos de 20 segundos:
-
var count = 0;
-
function miFuncion() {
-
count++;
-
if(count> 5) clearInterval(timeout);
-
//hacer algo
-
}
-
var timeout = setInterval(miFuncion, 20000);
Checkear que existe un elemento:
-
if ($("#id-elemento").length) {
-
//existe!
-
}
Cancelar una petici贸n por AJAX:
-
var req = $.ajax({
-
type: "POST",
-
url: "unaurl",
-
data: "id=1",
-
success: function(){
-
//hacer algo
-
}
-
});
-
//Cancelar la petici贸n
-
req.abort()
Bueno, creo que ser谩n muy 煤tiles para cualquier tipo de proyecto en el que est茅n trabajando. En breve voy a postear una segunda parte con m谩s snippets
Fuente: Codrops
Mientras tanto... 驴Cu谩les son los snippets que utilizas con m谩s frecuencia?








Domingo, 10 de Enero de 2010 a las 15.03
Muy bueno!!!
Domingo, 10 de Enero de 2010 a las 22.15
Muy buena colecci贸n de snippets, se agradece!
Jueves, 14 de Enero de 2010 a las 15.46
Tengo una duda con el snippet de Hacer un refresh del atributo src de una imagen, exactamente que es ? osea que hace un refresh estilo f5 a sierta imagen usando el src ? algo asi como un efecto ajax que solo la imagen hace refresh pero el resto de la pagina no.
Jueves, 14 de Enero de 2010 a las 15.57
@kzok
Exactamente. Es muy utilizado, por ejemplo, en Captchas, donde seguramente el usuario viene de completar un formulario y no quieres que se pierda ning煤n dato.
Lunes, 25 de Enero de 2010 a las 20.14
sigo sin hacer funcionar el script de Hacer un refresh del atributo src de una imagen: no se que parametros cambiar o mas bien el funcionamiento >__< donde ponga la direccion de mi imagen?
Martes, 26 de Enero de 2010 a las 10.48
@kzok
Supongamos que tienes una carpeta con 100 im谩genes para un captcha. En tu formulario se carga una de ellas. El usuario se da cuenta que no la puede leer correctamente y decide cliquear el bot贸n de "mostrar otra imagen". Si no usamos javascript perder谩 los datos del formulario con el refresh de la p谩gina completa.
Para evitar el problema usamos JS, al dar clic al bot贸n seteamos un handler que escuche ese clic, y llame a esta funci贸n que ejemplificamos en este art铆culo.
Esta funci贸n toma el objeto imagen (imageobj) que tienes que designar previamente. Luego genera un n煤mero aleatorio (ah铆 entra en juego el Math.random) que ser谩 la imagen aleatoria que se vaya a recargar en lugar de la otra, modificando el atributo src (tom谩ndolo de la lista del objeto imagen).
隆Espero haber aclarado un poco la cuesti贸n!
Mi茅rcoles, 24 de Marzo de 2010 a las 12.47
and the source of this snippets is..
http://tympanus.net/codrops/2010/01/05/some-useful-javascript-jquery-snippets/
S谩bado, 1 de Mayo de 2010 a las 14.49
Muy buenas todas las ayudas que publicas , excelente pagina! , si te interesa intercambiar links con el foro me devuelve el mensaje porfavor.
Saludos!
Lunes, 7 de Noviembre de 2011 a las 16.57
Burdo Copy & Paste de http://tympanus.net/codrops/2010/01/05/some-useful-javascript-jquery-snippets/ ....
Adem谩s, cuando dices "Validar direcci贸n de e-mail (l铆nea ofuscad铆sima ^_^):" solo est谩s demostrando que ni siquiera sabes de que hablas cuando confundes una expresi贸n regular con un c贸digo ofuscado.... en fin copy & paste de toda la vida