Una cosa que he visto en una web que estoy usando y que me ha gustado bastante es que el alto de los textarea se adapta al contenido para evitar que aparezca el scroll vertical.
En plan rapidito he hecho un script jQuery que realizaría esta función:
$(document).ready(function () {
$('textarea').keypress(function() {
var ta = $(this);
var fontSize = ta.css('font-size').replace('px', '')*1.3; // Le añado un ratio para que sea más eficiente
var taWidth = ta.width();
var taHeight = ta.height();
var content = ta.attr('value').split('\n');
var lines = content.length;
for (var i=0; i<content.length; i++) {
if (content[i].length * fontSize > taWidth) lines += parseInt(content[i].length * fontSize / taWidth);
}
var ratioHeight = taHeight / fontSize;
if (lines * fontSize > taHeight) ta.height((lines * fontSize)+150); // Le sumo 150 para darle un margen y que no se agrande constantemente
});
});
Ahora que están tan de moda las esquinas redondeadas, vemos una librerÃa javascript que nos ofrece esta posibilidad sin tener que usar imágenes.
Tan solo identificando las capas que queremos modificar y ejecutando un pequeño script, redondearemos las esquinas de nuestras capas, ya tengan borde o imagen de fondo, mostrando además efecto anti-aliasing.
Me parece que nos va a facilitar la vida a muchos. curvyCorners
VÃa / Bitelia
__construct: se utiliza para la construcción de objetos, logicamente este si es conocido si te has informado sobre las novedades de PHP5 referente a objetos.
__toString: controla lo que devuelve el objeto cuando se transforma en una cadena de texto, por ejemplo cuando hacemos un echo. Puede sernos muy util sobre todo para las trazas.
__clone: muy usado en Java, nos permite controlar la clonación de un objeto. Aunque no lo parezca, puede ser muy útil.
__set_state: devuelve la llamada a la función var_export(), asà cuando queremos exportar un objeto, devolvemos el código PHP válido que deseamos. En esta es en la función que más se detiene el autor del artÃculo y merece la pena echarle un vistazo a fondo.
Una de las opciones que más me gusta de la Wikipedia es la posibilidad de buscar contenidos usando la url. Para ello tan solo hay que escribir lo que queremos buscar después de esta dirección: http://es.wikipedia.org/wiki/
Por ejemplo, si queremos buscar información sobre La Habana deberíamos poner lo siguiente: http://es.wikipedia.org/wiki/La_Habana
Si encuentra algo lo muestra y si no es así, o te muestra una lista de posibilidades o te muestra una página de error 404.
Para poder incluir algo parecido en nuestro site deberemos modificar la configuración de Apache y crearnos un script (en este caso en PHP). Puede sernos muy útil si usamos tags o similares.
Ahora solo falta crear el controlador para las rutas de usuarios, dos en este caso:
GET /user/[user] para recuperar un usuario
PUT /user para crear un nuevo usuario
Lógicamente aún no hay nada de autenticación, por lo que cualquiera puede crear un usuario realizando una llamada PUT a la URL indicando userName, email y password.
Para comprobar la validez de los datos introducidos, usaremos joi. Usando las opciones de la ruta, indicaremos las reglas que deberá cumplir cada parámetro introducido. Así, para recuperar un usuario, se comprobará que user sea string, alfanumérico y que tenga una longitud de 3 a 20 caracteres:
Por último mostrar el código para crear un nuevo usuario. Primero se comprueba si existe un usuario con ese nickname o email. Si es así, se devuelve error usando boom, si no, se genera la contraseña encriptada (aquí no me he molestado mucho en ello, ya lo haré más adelante), y se crea el usuario usando el método create de moongose:
Leyendo esta entrada sobre el uso de botones para cambiar el tipo de letra de forma dinámica, se nos ha ocurrido contar cómo poder hacerlo.
Se puede hacer de varias formas: incrementando o decrementando el tamaño de letra según se pulse en los botones de aumentar o reducir el tipo de letra, o de forma fija, aumentando el tamaño de la letra y disminuyéndolo, pero solo a unos tamaños prefijados.
Existe un plugin para jquery que hace esto mismo, se puede descargar desde http://plugins.jquery.com/project/autogrow
Salu2