Archivos para las entradas con etiqueta: computación

Resulta que hay muchas lightbox (de jQuery o Mootools o el framework javascript que se les ocurra), pero el problema de estos es que estos no permiten una fácil modificación (diseño) de la caja.

Este problema se me presento en el trabajo y pues a hacer un lightbox desde cero. De hecho no es difícil ya que solo se necesita hacer esto:

  1. Ocultar (o sobre poner algo en) el contenido de la página
  2. Mostrar la caja (con el diseño personalizado)
  3. Cerrar la caja y volver a mostrar el contenido

¿Fácil? Yo digo que sí, el problema de los plugins en los frameworks es que vienen mucho más poderosos que esta solución. El desarrollo anterior lo vamos a hacer sobre jQuery (porque con ese trabajo).

(X)HTML (en rojo la estructura del lightbox)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test LightBox</title>
</head>

<body>
<div id="info">informacion
    <ul>
    <li><a href="#" id="startBL">abrir</a></li>
    </ul>
</div>

<div id="lbOverLay"></div>
<div id="wpLb">
    <a id="wpLbClose" href="#">cerrar</a>
    <div id="wpLbHd">informaciom</div>
</div>
</body>
</html>

CSS (del lightbox)

div#lbOverLay {
	background: #99CCFF;
	display: none;
	height: 700px;
	opacity: 0.6;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 3000;
}
/* No muestra la transparencia en IE6 */
* html div#lbOverLay {
	filter: alpha(opacity = 50);
}
div#wpLb {
	background: url(lb_bg.png) no-repeat center center;
	display: block;
	height: 550px;
	left: 50%;
	margin: 0 0 0 -225px;
	position: absolute;
	top: -550px;
	width: 450px;
	z-index: 3001;
}
div#wpLb a#wpLbClose {
	background: url(lb_close.png) no-repeat center center;
	height: 40px;
	position: absolute;
	right: 70px;
	text-indent: -999em;
	top: 65px;
	width: 40px;
}
div#wpLb div#wpLbHd {
	left: 50%;
	margin: 0 0 0 -160px;
	position: absolute;
	top: 140px;
}

jQuery

Primero algunas definiciones de variables:

//div que se va a sobreponer sobre el contenido
var wpLbOver = jQuery('div#lbOverLay');
//div que contendrá la información (diseño)
var wpLb = jQuery('div#wpLb');
//enlace para cerrar el lightbox
var lbClose = jQuery('a#wpLbClose');
//div que posiciona la información
var wpLBCt = jQuery('div#wpLbHd');

//enlace para abrir el lightbox
var lbOpen = jQuery('a#startBL');

//variable que maneja la posición donde aparecerá el lightbox (vertical)
var topStart = 0;

Ahora vamos a poner la funcionalidad, ocultar y mostrar el lightbox (1 y 2)

//abrir el lightbox
lbOpen.click(function() {
    //sobre poner una capa
    wpLbOver.css({
        'width': jQuery(window).width(),
        'height': jQuery(document).height(),
        'left': -(($(window).width() - $('body').width()) / 2)
    }).fadeIn(function() {
        //iniciar la posición de la caja
        wpLb.css({
            'display': 'block',
            'top': topStart - wpLb.height()
        });
        //animar su entrada
        wpLb.animate({'top': topStart - 20},500,function() {
            wpLb.animate({'top': topStart - 50},250,function() {
                wpLb.animate({'top': topStart - 20},250);
                //cargar contenido
                wpLBCt.load(lbOpen.attr('href'));
            });
        });
    });
});

Cerrar la ventana (3):

//cerrar el lightbox
lbClose.click(function() {
    //desaparecer el box
    wpLb.animate({'top': topStart - wpLb.height()},500,function() {
        wpLbOver.fadeOut();
        //ocultar la capa sobre puesta
        wpLb.css({'display': 'none','top': - wpLb.height()});
    });
    return false;
});

¿Y dónde lo puedo ver?

Por desgracia no tengo un lugar en la internet para ponerles el demo, pero les dejo el lightbox.zip con el demo de esto funcionando (y una imagen bastante mala de la caja).

TO DO

  1. Generar los div’s del lightbox de manera dinámica.
  2. Generar un plugin para jQuery, para poder usarlo como jQuery(‘selector’).LightBox();
  3. Poder obtener de manera dinámica el tipo de contenido a mostrar (desde el enlace que abre el lightbox)
  4. Merjorar la animación, ya que si se quieren hacer cosas más elaboradas habría que escribir mucho código
  5. Revisar si para cualquier estructura/estilo (X)HTML funciona la sobreposición de la capa
  6. Arreglar la capa sobrepuesta en IE6 (no muestra la transparencia)
  7. Hacerlo con otros frameworks
Anuncios

Resulta que la emoción por entrar a Ingenia termino hace unos días, pero por el problema de que la página que se estaba haciendo (y en la que participe) se quería para un día anterior.
Pero tampoco fue responsabilidad de mi administrador de projectos y el estaba igual que yo (aunque por estar frente al cliente tiene que guardar ese tipo de molestias, según yo).
Lo que sí he notado es que en verdad falta un administrador de proyectos (con estudios de esas cosas) para en verdad establecer practicas/metodologías para desarrollar un trabajo más organizado y que refleje la idea de la empresa, sino solo se van ahogando en un vaso de agua solitos.
Pero, que en verdad se use sus conocimientos. No como muchas empresas que se certifican o se compran su RUP y piensan que ya pueden hacer todo bien y olvidando lo que una organización/metodología menciona.
Pero bueno, por el momento solo soy un maquetador al servicio de l@s diseñadores/as, que por el momento si me dan la vuelta en cuanto a herramientas como jQuery

(perdonen que no tiene formato, lo hice desde la herramienta para postear rápidamente del wordpress)

El resultado de la situación que se presento entre la consultora Getronics México y mi persona (que explique en el post El inicio de la guerra) ha dado como resultado MI RENUNCIA a la vacante de Analista desarrollador para BBVA Bancomer.

El lunes es mi ultimo día: no me importa que no me den carta de recomendación y que me boletinen, la gente de Bancomer saben que mi malestar es con la consultora, no con mi nuevo equipo de trabajo (que empece a ver que no todas las personas con el puesto de gerente son iguales y que hay gente muy capaz y con otra percepción de la computación).

Bueno, jejeje, no les he contado que sucedió.

Resulta que el gerente de cuenta asistio a las instalaciones de BBVA Bancomer para arreglar algunos asuntos con algunas personas (entre ellas, yo). Explique mi malestar de que la mayoría de los procesos administrativos no nos son informados y que solo se nos imponen. Este malestar se refleja en que no puedo seguir laborando así y que me quedaba por 2mil pesos más de lo que originalmente pedí. Hace un rato me llamaron y me comentaron que no podían darme la cantidad que pedí (porque como dije, les quitó que se puedan ir en primera clase a Queretaro, bueno esto lo supongo).

¿Por qué pedí más? El banco paga más del doble, de la cantidad que yo había pedido, a la consultora y pues como han de saber pues ese dinero no se ve reflejado en otras cosas como prestaciones o cosas de ese índole. Entonces NO ME PARECE JUSTO QUE UNA EMPRESA QUE GANA DINERO POR EL TRABAJO DE OTRAS PERSONAS NO RETRIBUYA A ESTAS PERSONAS, que se necesita ambas partes, estoy de acuerdo, pero que no sean las ganancias para una sola de las partes.

Jejeje, hasta parece título de telenovela.

Ayer me encontre en el messenger a un tipo de la UAM (que de menos yo consideraba un compañero de escuela), pero que dijó algo que me hizó ver cómo piensa (aunque sus circunstancias son diferentes a las mías) en este tema y como nunca he comentado nada al respecto, pues hora de hacerlo (porque también esto influye en el aspecto laboral).

¿Qué pienso de la crisis? Bueno, como la mayoría de las cosas a las que tenemos fácil acceso: es un método de control de masas. Algo así como las telenovelas pero para otro tipo de público más conocedor.

¿Por qué afirmo lo anterior?

  1. Alguien va a ganar. No soy economista y menos leo mucho de esas cosas, pero algo que creo que pasa es que el dinero no desaparece (o más bien el objeto que le da el valor a este) y pues la proporción de la perdida de la mayoría de las personas será la ganacia de otras (u otra, eso sí no sé como sea).
  2. La economía es un invento humano, así que tiene errores y no quiero pagar por los errores en lo que no he participado directamente y quieren que sientan que es mi (nuestra) obligación por completo.
  3. No nos van a matar. La gente del poder necesita de nosotr@s, es una simbiosis.
  4. ¿Por qué crees que solo tu estas pasando por una crisis ecónomica mundial? Eso es tener muy poca empatía para otras personas/épocas o ¿tú crees que tus padres no pasaron por esto? ¿se destruyeron comunidades por eso? Piensale tantito (y tiene que ver por qué tu sigues aquí).
  5. El sistema capitalista esta en crisis, pero no porque no haya dinero, sino porque la base de su estructura/filosofía ya no es adecuada en este momento de la historia.
  6. Porque habemos revoltos@s que no nos tragamos todo lo que los medios de información masivos nos dan.

¿Me afecta?

¡¡¡Claro!!!

Si la mayoría de las personas pensaran de otra manera respecto al dinero/trabajo yo tendría más oportunidades de trabajar en otro lugar más acorde a mis necesidades.

Pagarían lo que pido (que es justo) y no malbaratarían mi trabajo (que es la idea que tiene el tipo que me encontre en el messenger). Cómo sea, quieren ahorrar, pero en algún momento tendrán que arreglar las porquerías de otros (porque no tienen experiencia y porque su visión de la computación no va más allá de hacerles ganar dinero) si quieren mejorar como empresa (los que ofrecen una miseria por el trabajo) y van a gastar ¿cómo estiman que van a gastar menos en el futuro con esta táctica? Bueno, supongo que todas las empresas quieren ser grandes empresas, por eso pienso en la pregunta anterior.

Lo que yo ofrezco es inversión, no un gasto. Pero creo que la mayoría de l@s mexican@s y empresas somos iguales: no pensamos a futuro.

Así que no me vengan con las jaladas de los medios de información: no las necesito.

Bueno, este post es para decirles que estoy haciendo algo que hace un rato no hacía: aprender.

¿Cómo empece? Pues resulta que muchos trabajos piden que sepas Struts y me dije vamos a aprender a usar Struts 😛

Lo malo es que ahora estoy dandome de topes con Apache Geronimo que es un Servidor Web (la diferencia con Tomcat es que este último es solo un contenedor de Servlets). No porque sea necesario para Struts (con Tomcat es suficiente), pero dije: vamos a hacer un Deploy a un EAR y me entere de que en Tomcat eso no se hace 😛

Hummm, ya les platicaré como va este asunto 😛