1. Les aides-mémoire▲
Tout d'abord, il est bon d'avoir des aides-mémoire (cheatsheets) comme référence.
En voici quelques-uns trouvés en ligne :
Sur JavaScript Toolbox
2. Raccourci pour $(document).ready▲
Un truc particulièrement utile !
Au lieu de faire ça :
$(
document
).ready
(
function(
) {
// Votre code ici
}
Vous pouvez faire ceci, qui revient au même :
$(
function(
){
// Votre code ici
}
);
3. Ouvrir un lien dans une nouvelle fenêtre▲
L'attribut target n'est pas valide en (X)HTML strict. Du coup, nous utiliserons l'attribut rel et un peu de jQuery pour créer un attribut dynamiquement et éviter les erreurs de validation. Cette astuce est l'une de mes favorites, elle est si simple et fonctionne parfaitement !
$(
'a[rel=external]'
).attr
(
'target'
,
'_blank'
);
<a href
=
"http://www.queness.com"
rel
=
"external"
>
Queness dans une nouvelle fenêtre</a>
4. Rendre une balise li entièrement cliquable▲
Cette astuce est très pratique lorsque vous faites des menus avec des balises <ul>. Lorsque l'on clique sur un <li>, nous récupérons le lien correspondant pour y accéder.
5. Changer de feuille de style▲
Vous voulez donner la possibilité de modifier le design de votre site ? Utilisez ce code pour alterner les feuilles de style CSS.
6. Désactiver le clic droit▲
Certains veulent désactiver le clic droit ou créer leur propre menu contextuel. Voici comment faire.
7. Récupérer les coordonnées de la souris▲
Ce script affichera les coordonnées x et y de la souris.
$(
).mousemove
(
function(
e){
//affiche les coordonnées x et y dans la balise p
$(
'p'
).html
(
"Axe X : "
+
e.
pageX +
" | Axe Y : "
+
e.
pageY);
}
);
<p></p>
8. Empêcher le comportement par défaut▲
Imaginons que vous ayez une page assez longue avec une balise <a> comme ci-dessous servant à autre chose qu'un lien. En cliquant sur la balise, vous vous retrouverez en haut de la page à cause du symbole '#'. Pour éviter cela, nous devons annuler le comportement du lien comme ceci :
$(
'#close'
).click
(
function(
e){
e.preventDefault
(
);
}
);
/*
ou
*/
$(
'#close'
).click
(
function(
){
return false;
}
);
<a href
=
"#"
id
=
"close"
></a>
9. Lien vers le haut de page▲
Un bouton ou un lien pratique pour le haut de la page avec le plugin scrollTo. J'aime beaucoup l'effet de scroll "back to top". Obtenir le plugin scrollTo.
$(
'#top'
).click
(
function(
) {
$(
document
).scrollTo
(
0
,
500
);
}
10. Colonnes de taille égale▲
Je trouve ce script particulièrement utile, même si je n'ai pas encore eu l'occasion de l'utiliser. Si vous voulez avoir des colonnes de taille égale, cette fonction répond à vos besoins. Inspirée par CSSNewbie.
$(
document
).ready
(
function(
) {
setHeight
(
'.col'
);
}
);
// Variable globale pour récupérer la hauteur maximale
var maxHeight =
0
;
function setHeight
(
col) {
// Récupère tous les éléments dont la classe est "col"
col =
$(
col);
// Boucle sur ces éléments
col.each
(
function(
) {
// Récupère la plus grande valeur
if(
$(
this).height
(
) >
maxHeight) {
maxHeight =
$(
this).height
(
);
}
}
);
// Ajuste la hauteur
col.height
(
maxHeight);
}
11. Ecrire son propre sélecteur▲
Voici une astuce un peu plus élaborée. Je ne connaissais pas cette possibilité avant de la voir sur le site illuminatikarate.com.
12. Ajuster la taille de la police▲
Une fonctionnalité courante des pages Web est de permettre de modifier la taille de la police. J'ai modifié le script de shopdev.co.uk. Vous pouvez maintenant choisir un id, une classe ou des éléments HTML dont vous voulez modifier la taille de police.
$(
document
).ready
(
function(
){
// id, classe ou balise HTML dont la fonte est modifiable dans ce tableau
// indiquez html ou body si vous voulez modifier toute la page
var section =
new Array(
'span'
,
'.section2'
);
section =
section.join
(
','
);
// Restaurer la taille
var originalFontSize =
$(
section).css
(
'font-size'
);
$(
".resetFont"
).click
(
function(
){
$(
section).css
(
'font-size'
,
originalFontSize);
}
);
// Augmenter la taille
$(
".increaseFont"
).click
(
function(
){
var currentFontSize =
$(
section).css
(
'font-size'
);
var currentFontSizeNum =
parseFloat
(
currentFontSize,
10
);
var newFontSize =
currentFontSizeNum*
1
.
2
;
$(
section).css
(
'font-size'
,
newFontSize);
return false;
}
);
// Diminuer la taille
$(
".decreaseFont"
).click
(
function(
){
var currentFontSize =
$(
section).css
(
'font-size'
);
var currentFontSizeNum =
parseFloat
(
currentFontSize,
10
);
var newFontSize =
currentFontSizeNum*
0
.
8
;
$(
section).css
(
'font-size'
,
newFontSize);
return false;
}
);
}
);
13. Le mode noConflict▲
Si vous utilisez plusieurs librairies JavaScript, vous pouvez utiliser ce code pour remplacer la variable $ par n'importe quelle autre. Utiliser jQuery avec d'autres librairies.
var $j =
jQuery.noConflict
(
);
$j
(
'#myDiv'
).hide
(
);
14. Nombre d'éléments sélectionnés▲
Cette astuce vous permet de connaitre le nombre d'éléments sélectionnés par un sélecteur jQuery. En utilisant la méthode length, vous obtenez la taille du tableau qui correspond au nombre d'éléments.
$(
'.someClass'
).
length;
15. Laissez Google héberger jQuery pour vous▲
Il y a beaucoup d'avantages à récupérer jQuery sur Google. Vous ne le savez peut-être pas, mais cela améliore le cache, permet le téléchargement simultané de ressources et diminue le temps de téléchargement.
<script
src="http://www.google.com/jsapi">
</script>
<script
type="text/javascript">
google.load
(
"jquery"
,
"1.3.2"
);
google.setOnLoadCallback
(
function(
) {
// Code à insérer dans cette zone
}
);
</script>
<!-- La meilleure méthode (plus rapide et plus efficace) -->
<script
type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script
type="text/javascript">
$(
document
).ready
(
function(
) {
// Code jQuery
}
);
</script>
16. Vérifier si une checkbox est cochée▲
jQuery propose 3 méthodes pour vérifier si une checkbox est cochée. Comment vérifier si une checkbox est cochée.
// Première méthode
$(
'#checkBox'
).attr
(
'checked'
);
// Deuxième méthode
$(
'#edit-checkbox-id'
).is
(
':checked'
);
// Troisième méthode
$(
"[:checkbox]:checked"
).each
(
function(
) {
// Votre code ici
}
);
17. Activer ou désactiver un élément de formulaire▲
// Désactiver
$(
'.unElement'
).attr
(
'disabled'
,
'disabled'
);
// Activer
$(
'.unElement'
).removeAttr
(
'disabled'
);
// Autre méthode
$(
'.someElement'
).attr
(
'disabled'
,
''
);
18. Trouver les erreurs JavaScript▲
Debugger du JavaScript n'est pas toujours un exercice facile. Si vous n'arrivez pas à trouver la cause d'une erreur, essayez cet outil en ligne : JSLint.
19. Désactiver les animations jQuery▲
Le code suivant désactivera les animations jQuery.
jQuery.
fx.
off =
true;
20. Le problème de rendu de l'effet fadeIn avec IE▲
Si vous avez été amenés à utiliser l'effet fadeIn avec IE6, vous avez surement remarqué à quel point c'est horrible. Pour corriger cela, il faut retirer l'attribut filter.
// Beurk...
$(
"#message"
).fadeIn
(
);
// Pour corriger cela
$(
"#message"
).removeAttr
(
"filter"
);
21. Vérifier que jQuery est chargé▲
22. Ajouter une icône pour les liens externes▲
Cette astuce est assez simple et pratique. Si un lien pointe vers un site externe, cela placera une icône avant le lien. Ajouter dynamiquement une icône sur les liens externes.
Participez à cet article !▲
J'espère que cet article vous a été utile.
Cependant, il a pour vocation de s'enrichir. Si vous connaissez des astuces susceptibles d'apparaitre
ici, n'hésitez pas à nous en faire part dans le sujet du forum correspondant.
Références▲
Remerciements▲
Un grand merci à Kerod pour sa relecture avisée et ses conseils précieux !