source: spip-zone/_plugins_/nivoslider/trunk/nivoslider_fonctions.php @ 85378

Last change on this file since 85378 was 85378, checked in by cedric@…, 5 years ago

Refactoring du JS et chargement async des photos dans le slider :

  • chargement du JS par getScript insere dans le modele et pas par affichage_final (plus robuste aux chargements ajax de slider)
  • JS encapsule dans un workspace, renommage raccourci des fonctions
  • le chargement de l'image suivante repere l'image active et veririe l'image courante et l'image suivante, il est appele avant/apres changement, ce qui rend robuste a la navigation non sequentielle par les pastilles de navigation
  • Property svn:executable set to *
File size: 1.1 KB
Line 
1<?php
2/**
3 * Plugin NivoSlider pour Spip 3.0
4 * Licence GPL (c)
5 *
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10
11function nivoslider_insert_head_css($flux){
12        include_spip('inc/filtres');
13        $css = produire_fond_statique("css/nivoslider.css");
14        $flux .= '<link rel="stylesheet" href="'.$css.'" type="text/css" media="all" />';
15        return $flux;
16}
17
18
19/**
20 * Mise en forme de la balise img : src direct ou gif transparent selon le cas
21 * evite de charger toutes les images directement
22 * @param string $img
23 * @param int $compteur
24 * @param bool|string $nolazy
25 *   don't use lazy load if true
26 * @return string
27 */
28function nivoslider_img_display_first_only($img, $compteur, $nolazy){
29        // charger l'image directement si c'est la premiere ou si on a active la navigation par vignette
30        if ($compteur==1 OR ($nolazy!=false AND $nolazy!=="false")) return $img;
31
32        $src = extraire_attribut($img,"src");
33        $img = inserer_attribut($img,"data-src",$src);
34        // gif transparent 1px
35        // http://proger.i-forge.net/The_smallest_transparent_pixel/eBQ
36        $img = inserer_attribut($img,"src","data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
37        return $img;
38}
39
40?>
Note: See TracBrowser for help on using the repository browser.