25 de abril de 2020

Cómo Hacer Gadgets Desplegables Con jQuery


Esta vez veremos como convertir los Gadgets de nuestro blog en desplegables gracias a la librería jQuery. Este truco puede ser muy útil para personas que tengan muchos en su página como es mi caso. El efecto de expandir y contraer se produce cuando pulsamos sobre su título. La única desventaja que tiene el script es que aunque oculte el contenido de los Gadgets, éstos siguen cargando.

Haz click en el enlace para ver una demostración del resultado final.

Lo primero será incluir en nuestro blog la librería jQuery. Si ya tienes la versión que vamos a utilizar u otra distinta, puedes omitir igualmente este paso.

Para ello nos dirigimos a la parte de Tema > Editar HTML de nuestra plantilla y abrimos el buscador del editor.

          Se activa con Ctrl + F y se ve así


Lo siguiente que haremos será buscar la etiqueta <head> y pegar después este código:


<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js' type='text/javascript'/>


A continuación, para aplicarle el efecto a cualquier Gadget de la página tendremos que localizarlo con el buscador del Editor HTML de nuestra plantilla. Para encontrarlo antes puedes buscar la etiqueta <data:title/> o escribir el título del mismo.

En el ejemplo de abajo se ha utilizado un Gadget tipo HTML/Javascript pero los demás tendrán una estructura muy similar.

Debes fijarte bien y añadir los siguientes códigos que aparecen coloreados.
  <b:widget id='HTML1' locked='false' title='Título del gadget' type='HTML'>
    <b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'>

<span id='expandirGadget1' style='cursor:hand;cursor:pointer;'>
&#9661;
<data:title/>
&#9651;
</span>

    </h2>
  </b:if>
  <div class='widget-content'>

<div class='expandir1' style='display: none;'>
<data:content/>
</div>
<script>$(document).ready(function(){$(&#39;#expandirGadget1&#39;).click(function(){$(&#39;.expandir1&#39;).slideToggle(&quot;slow&quot;)})});</script>

  </div>
  <b:include name='quickedit'/>
  </b:includable>
  </b:widget>
El primer código en rojo corresponde a las flechas que añadiremos al título del Gadget y debe ir colocado de forma que deje encerrada la etiqueta <data:title/>.  El atributo style= en este caso se encarga de hacer que el cursor cambie de puntero a la típica mano de enlaces para cuando estemos encima del título, dándole así una mayor visibilidad.

Los valores &#9661 y &#9651 corresponden al código del carácter unicode que escojamos.
En este caso se han usado los códigos de las siguientes flechas ▽△ pero puedes utilizar cualquier otro carácter.
También puedes utilizar una imagen en vez de caracteres pero debes utilizar este otro código:


<img src='URL de la imagen' border='0' width='10px'/>


Aquí te dejo algunas páginas que muestran el código correspondiente de cada símbolo.

   

El segundo código en azul es el encargado de indicar qué parte del Gadget se desplegará al hacer click en su título. Debe ir colocado después de <div class='widget-content'> y encerrando la etiqueta <data:content/> para que funcione correctamente.

El tercer código en verde es el responsable de que se ejecute el script jQuery para desplegar el Gadget. Debe de ir colocado después del código azul y con mucho cuidado de que esté antes del cierre de la etiqueta </div> inferior que aparece sin colorear.

El texto en color morado corresponde al ID y a su atributo class= correspondiente. Ambos se repiten una vez en el código del ejemplo. Si quieres añadir el script de expandir a otro Gadget tendrías que cambiar el nombre a todos, por ejemplo: expandirGadget2  expandir2

En el ejemplo aparecen los tres código con los espaciados pertinentes para que se entienda mejor.

Si seguiste bien las indicaciones, ya tendrías el script listo para utilizarlo a tu gusto y conveniencia en tu sitio web.





No hay comentarios:

Publicar un comentario