Aller au contenu | Aller au menu | Aller à la recherche

Du libre et du sport

Espace virtuel d'un bricoleur du net

Tag - présentation

Fil des billets - Fil des commentaires

jeudi, décembre 27 2007

Mettre en avant certains commentaires avec jQuery

Avec jQuery il est possible de mettre en avant certains de vos commentateurs.
Pour les commentaires filtrés sur l'adresse web utilisée. On ajoute une classe aux éléments dt qui contient les infos du commentateur et au contenu du commentaire dd

$("div#comments dt a[@href*='dotclear']") .parents("dt") .next("dd") .addClass("dotclearComment");
$("div#comments dt a[@href*='dotclear']") .parents("dt") .addClass("dotclearComment");

Pour cet exemple, j'imagine qu'on utilise un thème avec la structure <dl>, <dt>, <dd>, <dt>, <dd> ...
Ensuite, il suffit d'ajouter une règle dans la feuille style :

dt.dotclearComment,dd.dotclearComment{color:green;background-color:black}

Il est certainement possible de plouguéniser la chose sans utiliser le framework jQuery ;-)

mercredi, novembre 7 2007

$("blog").addjQuery(function() {$("#blogextra").accordeon();});

Gni ?
Regardez sur le côté :-) J'ai ajouté un petit effet visuel pour l'affichage de la zone bandeau extra (#blogextra dans le squelette) : ça coulisse entre les widgets.

Et ce n'était vraiment pas compliqué à mettre en place vu qu'une documentation de qualité existe.

En jQuery, on met simplement en place le bazard avec :

	$(document).ready(function(){
		$("#blogextra ul:not(:first)").hide();
		$("#blogextra h2").click(function(){
			$("#blogextra ul:visible").slideUp("slow");
			$(this).next().slideDown("slow");
			return false;
		});
		$("#blogextra h2").mouseover(function () {
			$(this).css("cursor","pointer");
		});

Petites explications de code

  1. au chargement de la page
  2. caches moi (.hide) toutes les zones <ul> de la div #blogextra (#blogextra ul) sauf la première (:not(:first))
  3. ajoutes moi une propriété "click" sur les titres <h2> de la div #blogextra
  4. quand je clique sur un titre <h2>, caches moi avec un effet lent 'slideUp' (slideUp("slow")) la zone <ul> de la div #blogextra qui était visible (#blogextra ul:visible)
  5. et aussi déroules moi lentement (.slideDown("slow")) la zone <ul> qui suit le titre <h2> cliqué.
  6. le return false stoppe la propagation et annule l’action en cours. (plus d'infos)

Les trois dernières lignes nous permettent de changer l'aspect du curseur de la souris au survol des titres <h2> de la div #blogextra : tout devient intuitif ;-)

lundi, août 27 2007

JavaScript : pre2ol.js - présentez lisiblement vos lignes de code.

Olivier a écrit - il y a un petit moment - une classe JavaScript qui permet de transformer tous les blocs préformattés en listes ordonnées.

Avant

<pre>
        bla 
        bla
</pre>

Après

<ol class="pre2ol">
        <li class="lizebra">bla</li>
        <li class=>bla</li>
 </ol>

Ainsi, les ascenseurs horizontaux qui apparaissent dans les blocs de code disparaissent et les lignes de codes sont complètement visibles au premier coup d'oeil :-).
J'ai juste complété avec une bidouille pour y intégrer une minuscule fonction de "zébrage": une classe CSS .lizebra est ajoutée aux éléments impairs de la liste ordonnée.

Note: Si vous ne voulez pas avoir une ligne en trop dans votre liste ordonnée, il faut supprimer le dernier retour à la ligne dans l'espace préformatté.

Lire la suite...