Je crée une galerie d'images avec des dizaines d'images en mode paysage et portrait sur une seule page. Je veux styliser chaque image avec une classe CSS ajoutée dynamiquement (c'est-à-dire ".landscape" pour les images de paysage) en fonction de son orientation.Ajouter une classe CSS en fonction du ratio d'image avec JavaScript/JQuery
Je suis tombé sur le code ci-dessous (à partir de 2003!) Pour déterminer le rapport et ajouter une classe pour une seule image, mais j'ai besoin que les classes soient automatiquement ajoutées pour toutes les images d'un ID div. Honnêtement, je ne connais pas assez JavaScript ou JQuery pour résoudre ce problème par moi-même.
Toute aide ou un point dans la bonne direction est grandement appréciée!
<script language="JavaScript" type="text/javascript">
<!--
function getDim() {
myImage = new Image;
myImage.src="myimage.gif";//path to image
document.divImage.src=myImage.src;
var imgProp;
var width = myImage.width;
var height = myImage.height;
var ratio = width/height;
if (ratio > 1) {
document.getElementById('image').className="portrait";
}
else {
document.getElementById('image').className="landscape";
}
}
//-->
</script>
+1, belle solution – Damb
Simple mais efficace ... – PlagueEditor
Um, wow. 3 réponses en moins de 14 heures. Vous êtes géniaux les gars! Je vais commencer avec la solution de @ cwolves ce matin et vous laisser savoir comment ça se passe! WOOT! – Kate