martes, 14 de diciembre de 2010

Imagen interactiva con jQuery


Aqui dejo un link de un tutorial que muestra como hace una imagen interactiva al estilo de IKEA aunque este sitio utiliza flash pero aqui lo muestran con jQuery.



http://buildinternet.com/2009/08/lights-out-dimmingcovering-background-content-with-jquery

viernes, 10 de diciembre de 2010

Deshabilitar el botón derecho con JQuery

Este es código bastante sencillo para que el usuario no pueda utilizar el botón derecho, para incorporarlo en nuestras paginas tan solo has de tener la ultima version de jQuery y listo.



$(document).ready(function(){
$(document).bind("contextmenu",function(e){
return false;
});
});

viernes, 6 de agosto de 2010

Jquery encriptar desencriptar javascript JQuery

Existe una clase que nos ayuda a encriptar o desencriptar cadenas de texto para nuestros diferentes usos, el js en cuestion es JQuery RC4 y seria tan sencillo de utilizar como lo siguiente:

para encriptar

var href = $("#linki").attr("href");
$('#linki').attr('href', 'http://www.weblaquesea.com/descarga_juegos/descargajuegos.php?juegos='+ $.rc4EncryptStr(href,"descarga"));



Para desencriptar

$('#link').attr('href', "http://" + $.rc4DecryptStr(href,"descarga"));});


Aqui estamos pasando una variable codificada y despues la descodificamos, si te das cuenta hay que utilizar una palabra clave tanto en el metodo de encriptar como en el de desencriptar

lunes, 19 de julio de 2010

Eventos en Javacript

En cada elemento o etiqueta XHTML se define su propia lista de posibles eventos ya sean uno o varios.
En la siguiente tabla se resumen los eventos más importantes definidos por JavaScript:

onblur
Deseleccionar el elemento
<button>, <input>, <label>, <select>, <textarea>, <body>


onchange
Deseleccionar un elemento que se ha modificado
<input>, <select>, <textarea>


onclick
Pinchar y soltar el ratón
Todos los elementos


ondblclick
Pinchar dos veces seguidas con el ratón
Todos los elementos


onfocus
Seleccionar un elemento
<button>, <input>, <label>, <select>, <textarea>, <body>


onkeydown
Pulsar una tecla (sin soltar)
Elementos de formulario y <body>


onkeypress
Pulsar una tecla
Elementos de formulario y <body>


onkeyup
Soltar una tecla pulsada
Elementos de formulario y <body>


onload
La página se ha cargado completamente
<body>


onmousedown
Pulsar (sin soltar) un botón del ratón
Todos los elementos


onmousemove
Mover el ratón
Todos los elementos


onmouseout
El ratón "sale" del elemento (pasa por encima de otro elemento)
Todos los elementos


onmouseover
El ratón "entra" en el elemento (pasa por encima del elemento)
Todos los elementos


onmouseup
Soltar el botón que estaba pulsado en el ratón
Todos los elementos


onreset
Inicializar el formulario (borrar todos sus datos)
<form>


onresize
Se ha modificado el tamaño de la ventana del navegador
<body>


onselect
Seleccionar un texto
<input>, <textarea>


onsubmit
Enviar el formulario
<form>


onunload
Se abandona la página (por ejemplo al cerrar el navegador)
<body>

viernes, 2 de julio de 2010

JQuery selectores basicos - selectores formulario - selectores de filtro - selectores de atributos

[atrr(=)(!=)(^=)($=)(*=)value]


(=)Igual

var myVar = 'es';  
$('a[hreflang='+myVar+']');
$('input[type=checkbox][checked=true]');


(!=)Diferente

$("label[name!='identificador']");


(^=)Empieza

$('a[href^=http]');

$("input[name^='Esto']").val("Aquin");


($=) Acaba>

$('a[href$=html]');

$("a[href$=.jpg], a[href$=.jpeg], a[href$=.png]");



(*=)contiene

$('a').not("[href*=value]")



Selectores Filtro basico


:animated

selecciona los elementos que están en proceso de animación en este momento

$(".navArticals:not(:has(:animated))")



:eq()

Obtiene o modifica el valor de un elemento de la referecia que se le pase
$('a.enlacePdf:eq(2)')




:even

Selecciona los elementos pares en el conjunto resultado (en base 0).

$("tr:even").css("background-color", "#bbbbff");



:odd

Selecciona los elementos impares en el conjunto resultado (en base 0).
$("tr:even").css("background-color", "#ffbbbb");


:first

Selecciona el primer elemento asociado

$("tr:first").css("background-color", "#bbbbff");



:last

Selecciona el ultimo elemento asociado
$("tr:last").css("background-color", "#bbbbff");


:header

Elementos de encabezado como h1, h2, h3

$(":header").css({background:'#CCC', color:'blue'});


:gt()

Selecciona los elementos desde el del índice hasta el ultimo

$("tr:gt(6)").css("background-color", "#bbbbff");



:lt()

Selecciona los elementos desde el primero hasta el del índice dado
$("tr:lt(6)").css("background-color", "#bbbbff");



:not()

Selecciona todos los elementos en conjunto que no coincidan con el valor de la referencia pasada

$('tr').not("[href*=value]")
$("tr:not(':last')")



:hidden - Selecciona elementos que son hidden o estan ocultos por css

:visible - Selecciona elementos que son visible o estan visibles por css

:parent - Selecciona elementos que tiene nodos hijos

:empty - Selecciona elementos sin nodos hijos

:contains() - Selecciona elementos que tiene el valor o texto especificado

:has()- Selecciona elementos que contienen elemento que le pasemos



:first-child - Selecciona el primer elemento hijo de su padre.

:last-child - Selecciona el ultimo elemento hijo de su padre.

:only-child - Selecciona el elemento que esta solo(unico) hijo de su padre

:nth-child

Existe con diferentes valores


:nth-child(even) - Selecciona el elemento hijo de su padre indicado pero con la condición de que sea par

:nth-child(odd) - Selecciona el elemento hijo de su padre indicado pero con la condición de que sea impar

:nth-child(3n+1) - Selecciona el primer elemento hijo de su padre y siguiente sera el tercero

:nth-child(2) - Selecciona el segundo elemento hijo de su padre

$("div p:*****child").text("Cambio texto");


Filtros de formulario



:button

Selecciona todos los elementos de tipo button.

:checkbox

Selecciona todos los elementos de tipo checkbox.

:checked

Selecciona todos los elementos que estan checked.

:disabled

Selecciona todos los elementos que estan disabled.

:enabled

Selecciona todos los elementos que estan enabled

:file

Selecciona todos los elementos de tipo file.

:image

Selecciona todos los elementos de tipo image.

:input

Selecciona todos los elementos input

:password

Selecciona todos los elementos de tipo password.

:radio

Selecciona todos los elementos de tipo radio.

:reset

Selecciona todos los elementos de tipo reset.

:selected

Selecciona todos los elementos de tipo selected.

:submit

Selecciona todos los elementos de tipo submit

:text

Selecciona todos los elementos de tipo text.

miércoles, 23 de junio de 2010

jQuery aprendiendo a manipular elementos y manejar conceptos basico - segunda parte

html: Podemos recuperar o reemplazar el contenido HTML de un elemento.


var variahtml =$("#idJQuery").html();
$("p").html("<a href="http://www.google.es">Google</a>");


text: Es muy parecido a html() pero este hace caso omiso al las etiquetas HTML.


$("p").text("<a href="http://www.google.es">Google</a>");


wrap: Inserta una estructura HTML en el interior de un elemento (envolver).

$("span").wrap("<div><div><p><em><b></b></em></p></div></div>");


unwrap: Remueve una estructura HTML del elemento

$("span").unwrap();
o
$("span").unwrap("<b/>");


wrapAll: Envuelve a todos los elementos juntos.


$("li").wrapAll("<div class="estilo1"></div>");



wrapInner:Envuelve una estructura HTML alrededor del contenido de cada elemento en el conjunto de los elementos coincidentes.


$("li").wrapInner("<div class="estilo1"></div>");


replaceWith: reemplaza los tags HTML de los elementos por el contenido que pasemos.


$("p").replaceWith("<div>"+ $("p").text()+"</div>");


replaceAll: Localiza todos los elementos en primera instancia. Esta función realiza la misma acción que replaceWith pero actua por cada elemento independientemente.


$("p").replaceAll("<div>"+ $("p").text()+"</div>");


clone: Simplemente duplica los elementos.


$("#idJQuery").clone().prependTo("p");


empty: Vacia el contenido de los elementos.

$("#idJQuery").empty();


remove: Elimina los elementos.


$("#idJQuery").remove();

jQuery aprendiendo a manipular elementos y manejar conceptos basico

Vamos a ver como manipular elementos en JQuery asi que ahora a ver sus funciones

append: Lo utilizamos para añadir un codigo HTML al elemento que nos interese


$("li").append("Manipular el elemento ");
$("#idJQuery").append("con estos añadidos");


appendTo: Se usa para seleccionar un elemento y enviar sus caracteristicas a otro elemento que queremos hacer un añadido


$("li").appendTo("#parraf");


prepend:Basicamente realiza la misma accion que append, con la diferencia que este realiza la accion al principio del elemento.


$("li").prepend("Este texto que ira por delante ");


prependTo: Ahora va elemento seleccionado delante del elementoque hemos puesto en segundo lugar.


$("li").prependTo("p");


after: Inserta contenido especificado por el elemento despues de cada elemento


$("parraf").after("li");
$("p").after(" despues");


insertAfter: inserta el elemento despues del elemento al que se le hace referencia.


$('<h3>contenido</h3>').insertAfter('.clase');


before: Coloca el elemento antes del existente.


$('.clase').before('<p>Texto</p>');


insertBefore: Posiciona elementos antes del indicado.

$('<h3>contenido</h3>').insertBefore('.clase');

Como indexar un blogger y darlo de alta google

Para indexar un blogger y darlo de alta para que aparezca en el maravilloso buscador Google deberemos utilizar la Herramienta para webmasters que nos permitira subir el sitemap y este haga su funcion de mostrar todas nuestras paginas al buscador.

¿Pero como añadir un sitemap si blogger no lo usa?

Es simple podemos usar nuestro Feed como sitemap, el feed se encuentra en la dirección http://jquery total.blogspot.com/atom.xml

Bien llegados hasta aqui deberemos irnos a las herramientas para webmaster añadir nuestro sitio y en la informacion del sitio clickamos en sitemap hay insertaremos nuestra url y listo.

JQuery aprendiendo $.extend

Esta función coge los valores de dos variables con parámetros y los combina, siempre cogiendo como bueno el ultimo parámetro con valor y si no cogerá el valor del parámetro de la primera variable. $.extend puede ser mas conocido a la hora de crear plugins


var comentario = {
autor : 'megatron',
email : 'email@vivalared.com',
sitio_web : 'http://www.vivalared.com',
contenido : 'Me gusto mucho la pelicula en 3D',
post : 1099,
notificar_actualizaciones : 1,
fecha : '2010-05-21'
}

var actualizar_comentario = {
email : 'nuevomail@vivalared.com',
notificar_actualizaciones : 0,
autor : 'megatron',
fecha : '2010-05-28'
}

var nuevo_comentario = $.extend(comentario, actualizar_comentario);
console.info(nuevo_comentario.email);


Definir nuestros argumentos predeterminados como un objeto, y luego extenderlo con las propiedades


function mi_funcion(args){
opciones = jQuery.extend({
clase_activa : 'active',
animacion : 'slide',
duracion : 150,
idioma : 'es',
mensaje : 'bazinga!'
}, args);
}

//Y luego, al llamar a la función...

mi_funcion({ duracion: 200, idioma : 'en', mensaje : 'lorem ipsum' });

console.info(opciones.mensaje);

miércoles, 16 de junio de 2010

Plugin para cookies con JQuery

Esta es una biblioteca Javascript para acceder y manipular cookies HTTP del navegador web. Se puede obtener un o una lista de cookies, cookies, borrar las cookies.

cookie.js

/*jslint browser: true */ /*global jQuery: true */ /** * jQuery Cookie plugin * * Copyright (c) 2010 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ // TODO JsDoc /** * Create a cookie with the given key and value and other optional parameters. * * @example $.cookie('the_cookie', 'the_value'); * @desc Set the value of a cookie. * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); * @desc Create a cookie with all available options. * @example $.cookie('the_cookie', 'the_value'); * @desc Create a session cookie. * @example $.cookie('the_cookie', null); * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain * used when the cookie was set. * * @param String key The key of the cookie. * @param String value The value of the cookie. * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. * If set to null or omitted, the cookie will be a session cookie and will not be retained * when the the browser exits. * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will * require a secure protocol (like HTTPS). * @type undefined * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */ /** * Get the value of a cookie with the given key. * * @example $.cookie('the_cookie'); * @desc Get the value of a cookie. * * @param String key The key of the cookie. * @return The value of the cookie. * @type String * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */



jQuery.cookie = function (key, value, options) {

// key and value given, set cookie...
if (arguments.length > 1 && (value === null || typeof value !== "object")) {
options = jQuery.extend({}, options);

if (value === null) {
options.expires = -1;
}

if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}

return (document.cookie = [
encodeURIComponent(key), '=',
options.raw ? String(value) : encodeURIComponent(String(value)),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}

// key and possibly options given, get cookie...
options = value || {};
var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};


funciones js

$(function() {
var COOKIE_NAME = 'test_cookie';
var ADDITIONAL_COOKIE_NAME = 'additional';
var options = { path: '/', expires: 10 };

// set cookie by number of days
$('a').eq(0).click(function() {
$.cookie(COOKIE_NAME, 'test', options);
return false;
});

// set cookie by date
$('a').eq(1).click(function() {
var date = new Date();
date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));
$.cookie(COOKIE_NAME, 'test', { path: '/', expires: date });
return false;
});

// get cookie
$('a').eq(2).click(function() {
alert($.cookie(COOKIE_NAME));
return false;
});

// delete cookie
$('a').eq(3).click(function() {
$.cookie(COOKIE_NAME, null, options);
return false;
});

// set a second cookie
$('a').eq(4).click(function() {
$.cookie(ADDITIONAL_COOKIE_NAME, 'äöüß;foo=bar', { expires: 10 });
return false;
});

// get second cookie
$('a').eq(5).click(function() {
alert($.cookie(ADDITIONAL_COOKIE_NAME));
return false;
});

// delete second cookie
$('a').eq(6).click(function() {
$.cookie(ADDITIONAL_COOKIE_NAME, null);
return false;
});
});


html

<p> <a href="#">Set cookie (by number of days == 10)</a><br>
<a href="#">Set cookie (by date == 3 days)</a><br>
<a href="#">Get cookie</a><br>
<a href="#">Delete cookie</a><br>
<a href="#">Set additional cookie</a><br>
<a href="#">Get additional cookie</a><br>
<a href="#">Delete additional cookie</a></p>

viernes, 11 de junio de 2010

Espalnds cerrado

Han cerrado una de las webs mas importantes de descarga de juegos en todas sus versiones, (WII, PSP, Zone), no se que problema tienen con los enlaces, ya que segun todos los jueces poner enlaces es del todo legal, mientras no alojes en tu servidor los archivos, pero claro, cuando te enfrentas a segun que poderoso enemigo las leyes y las sentencias favorables parece que dejan de ser importantes.

via: VivalaRed

Crea un menú de acciones deplegable conjQuery

Tutorial en que se crea un menú de acciones con jQuery tiene ademas casillas de verificación que aparece cuando se seleccionan. Esta puede ser una propiedad de interfaz de usuario muy útil ya que no obligan al usuario a desplazarse hasta el lugar donde las acciones son - que acaba de aparecer siempre que el usuario los necesite.

http://tympanus.net/codrops/2010/05/31/sliding-checkbox-actions-menu-with-jquery/

martes, 25 de mayo de 2010

Selectores basicos JQuery

Los selectores son un dispositivo básico en jQuery y nos sirven para seleccionar elementos en nuestra pagina web, los selectores a pesar de ser tan básicos es de lo mas útil y funcional en nuestro querido JQuery.



Para hacer uso de los selectores deberemos usar la función dolar de JQuery y pasarse como parametro el selector que nos haga falta de siguiente forma:


$(selector)



Como usar los selectores basicos de JQuery

Selector de etiquetas, selecciona todos los parrafos

$("p")


selector de id, selecciona el que tenga este atrib id="ide"
$("#ide")


selector de clase, selecciona los atrib class="clase"
$(".clase")


selector asterisco, selecciona todos los elementos
$("*")


varios selectores
selecciona los elementos de un div y anchor
$("div,a")


selecciona los elementos que tienen cla1 o cla2
$(".cla1.cla2")


selecciona los elementos que tienen id="ide" los elementos con class="cla1" y las listas li
$("#ide,.cla1,li)





Y que mejor para aprender que un ejemplo los selectores básicos de JQuery


inicio.html

<html>

<head>

<title>Problema</title>

<script src="http://www.google.com/jsapi"></script>

<script>google.load("jquery", "1.4.2");</script>

<script type="text/javascript" src="mfunciones2.js"></script>

</head>

<body>

<h3 id="titulo">Presiona este texto</h1>

<input type="button" id="boton" value="Pulsa el botonzico">

<div id="divboton"></div><br>

<table border="1" cellspacing="20px">

<tr>

<td>Presiona en la celda de la tabla</td>

</tr>

</table>

<ul id="lista">

<li>lista numero 1</li>

<li>lista numero 2</li>

<li>lista numero 3</li>

<li>lista numero 4</li>

<li>lista numero 5</li>

</ul>

<p>Deportes preferidos subrayados solo clicka en las lineas <br>

<span class="subrayado">wushu</span>, boxeo, <span class="subrayado">spinning</span>, hierros</p>

<input type="Text" name="campotexto" id="campotexto">

</body>

</html>




mfunciones2.js

$(document).ready(eventInit);


function eventInit()

{

//Carga estilos css

var x;

x=$("#titulo");

x.css("color","#ff0000");

x.css("background-color","#ffffff");

x.css("font-family","Verdana");


//crea los eventos click

var x=$("#boton");

x.click(buttonPress);


var x=$("#titulo");

x.click(presionaTitulo);



var x=$("table");

x.click(pressFila);


var x=$("p");

x.click(subraya);


}


function buttonPress()

{

//seleccion por id

var x=$("#divboton");

if(x.text() == ""){x.text("Se presioño el botón");}

else{x.text("");}



//tambien hace la seleccion utilizando CSS

var x=$("#lista li");

x.show();

}


function presionaTitulo()

{

//seleccion por id

var x=$("#divboton");

if(x.text() == ""){x.text("Se presioño el titulo");}

else{x.text("");}



//tambien hace la seleccion utilizando CSS

var x=$("#lista li");

x.hide();

}


function pressFila()

{

//seleccion por tipo (seria table>

var x=$(this);

x.css("background-color","#FF0000");



//seleccion por tipo

var x=$("tr");

x.css("background-color","#FFff00");


}


function subraya()

{

var x=$(".subrayado");

x.css("background-color","ff0000");

alert("Campo de texto - " + $("#campotexto").attr("value"));

}


viernes, 21 de mayo de 2010

Copiar texto seleccionado

Esto es JavaScript y tienes que seleccionar el texto que mas te guste de la venta y pulsar sobre el boton para que lo copie en la caja, puede ser util para saber el textu usuario esta seleccionado con el raton, este seria el codigo:


<script language=javascript>
function getSelText()
{
var txt = '';
if (window.getSelection)
{
txt = window.getSelection();
}
else if (document.getSelection)
{
txt = document.getSelection();
}
else if (document.selection)
{
txt = document.selection.createRange().text;
}
else return;
document.aform.selectedtext.value = txt;
}
</script>

<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>

Que es esto del JQuery

Si has llegado aquí es por que te interesa el jQuery y quieres saber de que va, bueno primeramente saber JQuery es una librería de Javascript con la que de una forma rápida y concisa nos simplifica el desarrollo de animaciones, interacciones con Ajax, controlar eventos web y demás, en definitiva esta librería esta diseñada para cambiar la forma de programar con JavaScript.

Mi intención es ir haciendo ejemplos e ir poniendo anotaciones de códigos para ayudar en la creación de sitios o partes de sitios que se utilice JQuery, empezando con las cosas mas básicas e ir poco a poco avanzado con contenidos mas chungos. Y como el tema teórico es una castaña pues como que en gran parte me lo voy a saltar por que yo lo valgo!!

Para poder usar esta librería claro esta que tendremos que bajarla y su dirección oficial es akin JQuery donde aparte de la librería encontraremos muy buenos ejemplos, que leches si es son los creadores tu dirás!!!

Y por ultimo hacer mención rápida a las características mas destacarles que son:

Que tiene muchas funciones para animar los contenidos de las web de una manera sencilla
Control de los eventos
Que chusca en todos los navegadores
Con Ajax va de coña
Y que como soy muy vago me ahorra muchas lineas pikadas ;D