Posts Tagged ‘ajax’

jQuery: Cambiar color de fondo de una capa, al hacer rollover en una imagen.

Hace unos días realizando un proyecto hemos tenido la necesidad de tener que cambiar el color de fondo de una capa, cuando se pusiera el ratón encima de una imagen que estaba lincada. Básicamente para destacar el texto que había debajo de esta imagen y el precio.

Teníamos que emular el efecto rollover de un link pero distorsionado, así que nos pusimos manos a la obra, evidentemente teniendo a mano la librería jQuery, esto es cuestión de minutos!

Ver ejemplo en funcionamiento

HTML:
  1. <script language="javascript" type="text/javascript" src="jquery.js"></script>
  2.  
  3. <script type="text/javascript">
  4. $(document).ready(function () {
  5. $("#img").mouseover(function () {
  6.       $("#enlace").css("background","#7e7e7e");
  7. });
  8. $("#img").mouseout(function () {
  9.       $("#enlace").css("background","#f0f0f0");
  10. });
  11. });
  12. </script>
  13. <style type="text/css">
  14. body{
  15.     font-family:Arial;
  16.     color:#333333;
  17. }
  18. .link1,.link1:visited{
  19.     font-size:10pt;
  20.     font-weight:bold;
  21.     color:#000000;
  22.     text-decoration:none;
  23. }
  24. .link1:hover{
  25.     font-size:10pt;
  26.     font-weight:bold;
  27.     color:#488b2e;
  28. }
  29. </style>
  30. </head>
  31.     <div style="width:399px; margin-bottom:10px;" id="img"><img src="imagen.jpg"/></div>
  32.     <div style="height:28px; width:399px; background:#f0f0f0;" id="enlace">
  33.         <div style="float:left; wdith:150px; padding:6px 0 0 3px;"><a href="#" class="link1">Enlace</a></div>
  34.         <div style="float:right; width:30px; padding-top:3px;">33€</div>
  35.     </div>
  36. </div>
  37. </body>
  38. </html>

Ajax: Actualiza periodicamente el contenido de un div

Una de las funciones disponibles con la librería prototype es Ajax.PeriodicalUpdater() y provee de un método sencillo para realizar llamadas remotas en intervalos de tiempo definidos.

La parte del JavaScript es bien sencilla, solo necesitamos una copia de la librería prototype y la siguiente función definida en el head, aplicandole despues el comportamiento al body,

JavaScript:
  1. <script type="text/javascript">
  2. function actualizacion() {
  3. var target = $('muestra');
  4. if (!target) return false;
  5. new Ajax.PeriodicalUpdater(target, 'script.php',{frequency:'3'});
  6. }
  7. Event.observe(window, 'load', actualizacion, false);
  8. </script>

Para que todo esto funcione, tenemos que añadir un bloque div con la id=”muestra” que sera donde aparezca la información generada desde el script php.