Tagscss

[jQuery] Un carousel avec visuel en pleine page avec n’importe quel plug-in

Le but de ce billet n’est pas de donner une solution toute faite mais plutôt une méthode pour étendre rapidement et efficacement les fonctionnalités de n’importe que plug-in jQuery de slider.

HTML

On crée un container dans lequel on place une balise <img> aux attributs non renseignés. Cette balise va servir à accueillir l’image « en cours ».

jQuery avec la méthode Bind et l’événement DOMSubtreeModified

On crée une fonction qui surveille en temps réel quelle image du carousel est affichée (celle qui possède la plupart du temps une classe .current) et on stocke son URL dans une variable. On assigne ensuite le contenu de cette variable à l’attribut src de notre image en haut de page.

On exécute la fonction au chargement de la page, puis à chaque fois que le DOM relatif au carousel évolue (passage d’une slide à l’autre).

Cas du Slick Carousel (Drupal 7)

Utiliser la méthode .bind() sur l’événement DOMSubtreeModified ne fonctionne pas dans le cas où un changement de slide utilise plusieurs événements. (En réalité,
ça fonctionne, mais le console.log() imprime plusieurs fois l’URL récupérée).

SCSS

On masque les images par défaut du carousel. On met en place quelques styles pour afficher les visuels en pleine page et pour les caler en haut de la fenêtre.

Une alternative où l’image est placée en background-image de l’élément body

[Magento 1.9] Un héritage propre des fichiers SASS dans un thème Custom

Source officielle : Magento 1.9 Responsive Web Design Developer’s Guide > Advanced topics > SASS fallback structure.

Un des soucis majeurs de l’utilisation de SASS est qu’on ne peut pas utiliser de variable dans les chemins d’imports des fichiers *.scss. Ceci reviendrait à devoir, lorsqu’on crée un thème custom, copier l’intégralité des fichiers *.scss du thème parent (y-compris donc ceux qui ne feront l’objet d’aucune surcharge ou ré-écriture). Résultat : énormément de doublons dans les styles chargés en front, puisqu’on récupère l’intégralité des styles du thème parent et ceux du thème enfant.

La solution est d’ajouter la ligne suivante dans le fichier config.rb du thème enfant (ATTENTION: la doc officielle est fausse puisqu’elle recommande de faire la modification dans le fichier config.rb du thème parent !

Si on choisit le thème Rwd et le package Default en tant que fallback :

Les chemins sont relatifs, donc attention à modifier cet exemple en fonction de l’emplacement de votre fichier config.rb (et de votre arbo en général si elle est custom).

Pour plus d’infos, cf la doc officielle donnée en lien plus haut.

© 2020 devfrontend.info

Theme by Anders NorénUp ↑