Changeset 89309 in spip-zone


Ignore:
Timestamp:
May 12, 2015, 6:24:05 PM (4 years ago)
Author:
jcvilleneuve@…
Message:

EscalV3 : 2 nouveaux layout fluides + une amélioration de l'affichage des annonces défilantes qui défilent tout de suite sans attendre d'avoir chargé toutes les annonces

Location:
_squelettes_/escal/branche_V3
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/escal/branche_V3/formulaires/configurer_escal_layout.html

    r87019 r89309  
    5252                            <input type="radio" name="#GET{name}" id="#GET{name}_PPMfluide" value="PPMfluide"
    5353                            [(#ENV{#GET{name}}|=={PPMfluide}|oui)checked="checked"] /><label  for="#GET{name}_PPMfluide"><img src="#CHEMIN{images/layoutPPM.gif}" alt="" /></label>
     54
     55                            <input type="radio" name="#GET{name}" id="#GET{name}_MPfluide" value="MPfluide"
     56                            [(#ENV{#GET{name}}|=={MPfluide}|oui)checked="checked"] /><label for="#GET{name}_MPfluide"><img src="#CHEMIN{images/layoutMP.gif}" alt="" /></label>
     57
     58                            <input type="radio" name="#GET{name}" id="#GET{name}_PMfluide" value="PMfluide"
     59                            [(#ENV{#GET{name}}|=={PMfluide}|oui)checked="checked"] /><label for="#GET{name}_PMfluide"><img src="#CHEMIN{images/layoutPM.gif}" alt="" /></label>
    5460                    <br /><br />
    5561                    <strong>Layout mixte</strong> : partie centrale fluide et colonnes latérales fixes <br />
  • _squelettes_/escal/branche_V3/inclusions/inc-annonce_defilant.html

    r82829 r89309  
     1[(#REM)
     2  D'après la noisette inc-annonce_defilant.html de J.-C. Villeneuve dans le
     3  squelette Escal v3.79.30.
     4
     5  Nom de la noisette : inc-annonce_defilant.html
     6  Auteur             : Patrice Guerlais
     7  Licence            : BSD Licence
     8  Date               : 08 Mai 2015
     9
     10  Paramètres de cette noisette : aucun
     11
     12  Exemple (remplacer les no_ par #, et <crochet ouvrant> et <crochet fermant> par... devinez !) :
     13<crochet ouvrant>(no_INCLURE{fond=inclusions/inc-annonce_defilant})<crochet fermant>
     14]
     15
    116<BOUCLE_test(ARTICLES){titre_mot=annonce-defilant}{lang}>
    217</BOUCLE_test>
     
    419<div id="scrollup3">
    520<!-- affichage par défaut selon le numéro du titre -->
    6   <BOUCLE_annoncedefaut1(ARTICLES){si #CONFIG{escal/config/ordreannonces}|non}{titre_mot=annonce-defilant}{lang}{par num titre}{1,n}>
    7     #SET{total1, #TOTAL_BOUCLE|plus{1} }
    8     <div class="headline3" >
    9     <div class="annoncedefil">
    10     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    11     <span class="compteur-annonce">#COMPTEUR_BOUCLE/#GET{total1}</span>
    12     ]
    13       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    14       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    15       <div class="#EDIT{texte}">
    16         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    17         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    18         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    19       </div>
    20     </div>
    21     </div>
     21  <BOUCLE_annoncedefaut1(ARTICLES){si #CONFIG{escal/config/ordreannonces}|non}{titre_mot=annonce-defilant}{lang}{par num titre}{0,n}>
     22    [(#INCLURE{fond=inclusions/inc-annonce_defilant_article}{id_article}{compteur=#COMPTEUR_BOUCLE}{total=#TOTAL_BOUCLE})]
    2223  </BOUCLE_annoncedefaut1>
    23   <BOUCLE_annoncedefaut2(ARTICLES){si #CONFIG{escal/config/ordreannonces}|non}{titre_mot=annonce-defilant}{lang}{par num titre}{0,1}>
    24     #SET{compteur1,#COMPTEUR_BOUCLE}
    25     <div class="headline3" >
    26     <div class="annoncedefil">
    27     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    28     [(#GET{total1}|?{<span class="compteur-annonce">#GET{compteur1}/#GET{total1}</span>,''})]
    29     ]
    30       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    31       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    32       <div class="#EDIT{texte}">
    33         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    34         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    35         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    36       </div>
    37     </div>
    38     </div>
    39   </BOUCLE_annoncedefaut2>
    4024
    4125<!-- affichage selon le numéro du titre -->
    42   <BOUCLE_annonce(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={numtitre}|oui}{titre_mot=annonce-defilant}{lang}{par num titre}{1,n}>
    43     #SET{total2, #TOTAL_BOUCLE|plus{1} }
    44     <div class="headline3" >
    45     <div class="annoncedefil">
    46     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    47     <span class="compteur-annonce">#COMPTEUR_BOUCLE/#GET{total2}</span>
    48     ]
    49       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    50       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    51       <div class="#EDIT{texte}">
    52         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    53         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    54         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    55       </div>
    56     </div>
    57     </div>
     26  <BOUCLE_annonce(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={numtitre}|oui}{titre_mot=annonce-defilant}{lang}{par num titre}{0,n}>
     27    [(#INCLURE{fond=inclusions/inc-annonce_defilant_article}{id_article}{compteur=#COMPTEUR_BOUCLE}{total=#TOTAL_BOUCLE})]
    5828  </BOUCLE_annonce>
    59   <BOUCLE_annonce2(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={numtitre}|oui}{titre_mot=annonce-defilant}{lang}{par num titre}{0,1}>
    60     #SET{compteur2,#COMPTEUR_BOUCLE}
    61     <div class="headline3" >
    62     <div class="annoncedefil">
    63     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    64     [(#GET{total2}|?{<span class="compteur-annonce">#GET{compteur2}/#GET{total2}</span>,''})]
    65     ]
    66       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    67       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    68       <div class="#EDIT{texte}">
    69         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    70         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    71         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    72       </div>
    73     </div>
    74     </div>
    75   </BOUCLE_annonce2>
    7629
    7730<!-- affichage selon la date --> 
    78   <BOUCLE_annonce3(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={date}|oui}{titre_mot=annonce-defilant}{lang}{par date}{1,n}>
    79     #SET{total3, #TOTAL_BOUCLE|plus{1} }
    80     <div class="headline3" >
    81     <div class="annoncedefil">
    82     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    83     <span class="compteur-annonce">#COMPTEUR_BOUCLE/#GET{total3}</span>
    84     ]
    85       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    86       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    87       <div class="#EDIT{texte}">
    88         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    89         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    90         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    91       </div>
    92     </div>
    93     </div>
     31  <BOUCLE_annonce3(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={date}|oui}{titre_mot=annonce-defilant}{lang}{par date}{0,n}>
     32    [(#INCLURE{fond=inclusions/inc-annonce_defilant_article}{id_article}{compteur=#COMPTEUR_BOUCLE}{total=#TOTAL_BOUCLE})]
    9433  </BOUCLE_annonce3> 
    95   <BOUCLE_annonce4(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={date}|oui}{titre_mot=annonce-defilant}{lang}{par date}{0,1}>
    96     #SET{compteur3,#COMPTEUR_BOUCLE}
    97     <div class="headline3" >
    98     <div class="annoncedefil">
    99     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    100     [(#GET{total3}|?{<span class="compteur-annonce">#GET{compteur3}/#GET{total3}</span>,''})]
    101     ]
    102       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    103       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    104       <div class="#EDIT{texte}">
    105         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    106         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    107         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    108       </div>
    109     </div>
    110     </div>
    111   </BOUCLE_annonce4>
    11234
    11335<!-- affichage selon la date inverse -->
    114   <BOUCLE_annonce5(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={dateinverse}|oui}{titre_mot=annonce-defilant}{lang}{par date}{inverse}{1,n}>
    115     #SET{total4,#TOTAL_BOUCLE|plus{1} }
    116     <div class="headline3" >
    117     <div class="annoncedefil">
    118     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    119     <span class="compteur-annonce">#COMPTEUR_BOUCLE/#GET{total4}</span>
    120     ]
    121       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    122       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    123       <div class="#EDIT{texte}">
    124         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    125         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    126         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    127       </div>
    128     </div>
    129     </div>
     36  <BOUCLE_annonce5(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={dateinverse}|oui}{titre_mot=annonce-defilant}{lang}{par date}{inverse}{0,n}>
     37    [(#INCLURE{fond=inclusions/inc-annonce_defilant_article}{id_article}{compteur=#COMPTEUR_BOUCLE}{total=#TOTAL_BOUCLE})]
    13038  </BOUCLE_annonce5>     
    131   <BOUCLE_annonce6(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={dateinverse}|oui}{titre_mot=annonce-defilant}{lang}{par date}{inverse}{0,1}>
    132     #SET{compteur4,#COMPTEUR_BOUCLE}
    133     <div class="headline3" >
    134     <div class="annoncedefil">
    135     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    136     [(#GET{total4}|?{<span class="compteur-annonce">#GET{compteur4}/#GET{total4}</span>,''})]
    137     ]
    138       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    139       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    140       <div class="#EDIT{texte}">
    141         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    142         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    143         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    144       </div>
    145     </div>
    146     </div>
    147   </BOUCLE_annonce6>   
     39
    14840
    14941<!-- affichage par hasard --> 
    15042  <BOUCLE_annonce7(ARTICLES){si #CONFIG{escal/config/ordreannonces}|=={hasard}|oui}{titre_mot=annonce-defilant}{lang}{par hasard}>
    151     #SET{total5, #TOTAL_BOUCLE }
    152     <div class="headline3" >
    153     <div class="annoncedefil">
    154     [(#CONFIG{escal/config/affichecompteur}|=={non}|non)
    155     <span class="compteur-annonce">#COMPTEUR_BOUCLE/#GET{total5}</span>
    156     ]
    157       <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" class="suite" title="[(#DESCRIPTIF|textebrut|entites_html)]"><strong><:escal:lire_suite:></strong></a>
    158       <div class="annonce-titre #EDIT{titre}">#TITRE</div>
    159       <div class="#EDIT{texte}">
    160         [(#TEXTE|extraire_balise{img}|image_reduire{[(#CONFIG{escal/config/largeurimage,400})],0})]
    161         [(#PLUGIN{COUTEAU_SUISSE}|oui)[(#TEXTE*|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre|appliquer_filtre{cs_traitements, TEXTE, articles, sommaire_d_article})]]
    162         [(#PLUGIN{COUTEAU_SUISSE}|non)[(#TEXTE|couper{#CONFIG{escal/config/tailletexteannoncedefil,300}}|propre)] ]
    163       </div>
    164     </div>
    165     </div>
     43    [(#INCLURE{fond=inclusions/inc-annonce_defilant_article}{id_article}{compteur=#COMPTEUR_BOUCLE}{total=#TOTAL_BOUCLE})]
    16644  </BOUCLE_annonce7>   
    16745</div>
  • _squelettes_/escal/branche_V3/paquet.xml

    r89018 r89309  
    22    prefix="escal"
    33    categorie="squelette"
    4     version="3.79.30"
     4    version="3.79.31"
    55    schema="1.0.4"
    66    etat="stable"
  • _squelettes_/escal/branche_V3/rotative_js.html

    r79630 r89309  
    99// **************************
    1010
    11  var headline_count;
    12  var headline_interval;
    13  var old_headline = 0;
    14  var current_headline = 0;
    15  var tempo1 = '#CONFIG{escal/config/tempoactus,5}' * 1000;
     11var headline_count;
     12var headline_interval;
     13var old_headline = 0;
     14var current_headline = 0;
     15var tempo1 = '#CONFIG{escal/config/tempoactus,5}' * 1000;
    1616 
    17  $(document).ready(function(){
    18    headline_count = $("div.headline").size();
    19    $("div.headline:eq("+current_headline+")").css('top','5px');
    20 
    21    headline_interval = setInterval(headline_rotate,tempo1); //temps en millisecondes
    22    $('#scrollup').hover(function() {
    23      clearInterval(headline_interval);
    24    }, function() {
    25      headline_interval = setInterval(headline_rotate,tempo1); //temps en millisecondes
    26      headline_rotate();
    27    });
    28  });
    29 
    30  function headline_rotate() {
    31    current_headline = (old_headline + 1) % headline_count;
    32    $("div.headline:eq(" + old_headline + ")").animate({top: -205},"slow", function() {
    33      $(this).css('top','210px');
    34    });
    35    $("div.headline:eq(" + current_headline + ")").show().animate({top: 5},"slow");
    36    old_headline = current_headline;
    37  }
     17$(document).ready(
     18                  function()
     19                  {
     20                    headline_count = $("div.headline").length ;
     21                    $("div.headline:eq("+current_headline+")").css('top','5px');
     22
     23                    //temps en millisecondes
     24                    headline_interval = setInterval(headline_rotate, tempo1);
     25
     26                    $('#scrollup').hover(function()
     27                                         {
     28                                           clearInterval(headline_interval);
     29                                         },
     30                                         function()
     31                                         {
     32                                           // temps en millisecondes
     33                                           headline_interval = setInterval(headline_rotate,tempo1);
     34                                           headline_rotate();
     35                                         }
     36                                        ) ;
     37                  }
     38                 ) ;
     39
     40function headline_rotate()
     41{
     42  current_headline = (old_headline + 1) % headline_count;
     43  $("div.headline:eq(" + old_headline + ")").animate({top: -205},
     44                                                     "slow",
     45                                                     function()
     46                                                     {
     47                                                       $(this).css('top','210px') ;
     48                                                     }
     49                                                    ) ;
     50  $("div.headline:eq(" + current_headline + ")").show().animate({top: 5},"slow") ;
     51  old_headline = current_headline ;
     52}
    3853
    3954
     
    4257// ***************************
    4358
    44  var headline2_count;
    45  var headline2_interval;
    46  var old_headline2 = 0;
    47  var current_headline2 = 0;
    48  var tempo2 = '#CONFIG{escal/config/tempophotos,8}' * 1000;
    49  var hauteur2 = '#CONFIG{escal/config/largeurimagenoisettes,170} - 5';
    50 
    51  $(document).ready(function(){
    52    headline2_count = $("div.headline2").size();
    53    $("div.headline2:eq("+current_headline2+")").css('top','5px');
    54 
    55    headline2_interval = setInterval(headline2_rotate,tempo2); //temps en millisecondes
    56    $('#scrollup2').hover(function() {
    57      clearInterval(headline2_interval);
    58    }, function() {
    59      headline2_interval = setInterval(headline2_rotate,tempo2); //temps en millisecondes
    60      headline2_rotate();
    61    });
    62  });
    63 
    64  function headline2_rotate() {
    65    current_headline2 = (old_headline2 + 1) % headline2_count;
    66    $("div.headline2:eq(" + old_headline2 + ")").animate({top: -hauteur2},"slow", function() {
    67      $(this).css('top','[(#CONFIG{escal/config/largeurimagenoisettes,170})]px');
    68    });
    69    $("div.headline2:eq(" + current_headline2 + ")").show().animate({top: 5},"slow");
    70    old_headline2 = current_headline2;
    71  }
     59var headline2_count;
     60var headline2_interval;
     61var old_headline2 = 0;
     62var current_headline2 = 0;
     63var tempo2 = '#CONFIG{escal/config/tempophotos,8}' * 1000;
     64var hauteur2 = '#CONFIG{escal/config/largeurimagenoisettes,170} - 5';
     65
     66$(document).ready(function(){
     67                    headline2_count = $("div.headline2").length ;
     68                    $("div.headline2:eq("+current_headline2+")").css('top','5px');
     69
     70                    headline2_interval = setInterval(headline2_rotate,tempo2); //temps en millisecondes
     71                    $('#scrollup2').hover(function() {
     72                                            clearInterval(headline2_interval);
     73                                          }, function() {
     74                                            headline2_interval = setInterval(headline2_rotate,tempo2); //temps en millisecondes
     75                                            headline2_rotate();
     76                                          });
     77                  });
     78
     79function headline2_rotate() {
     80  current_headline2 = (old_headline2 + 1) % headline2_count;
     81  $("div.headline2:eq(" + old_headline2 + ")").animate({top: -hauteur2},"slow", function() {
     82                                                         $(this).css('top','[(#CONFIG{escal/config/largeurimagenoisettes,170})]px');
     83                                                       });
     84  $("div.headline2:eq(" + current_headline2 + ")").show().animate({top: 5},"slow");
     85  old_headline2 = current_headline2;
     86}
     87
    7288
    7389// *************************************
     
    7591// *************************************
    7692
    77  var headline3_count;
    78  var headline3_interval;
    79  var old_headline3 = 0;
    80  var current_headline3 = 0;
    81  var hauteur3 = '#CONFIG{escal/config/hauteurannoncedefil,210}' - 5;
    82  var tempo3 = '#CONFIG{escal/config/tempoannoncedefil,8}' * 1000;
    83 
    84  $(document).ready(function(){
    85    headline3_count = $("div.headline3").size();
    86    $("div.headline3:eq("+current_headline3+")").css('top','0px');
    87 
    88    headline3_interval = setInterval(headline3_rotate,tempo3); //temps en millisecondes
    89    $('#scrollup3').hover(function() {
    90      clearInterval(headline3_interval);
    91    }, function() {
    92      headline3_interval = setInterval(headline3_rotate,tempo3); //temps en millisecondes
    93      headline3_rotate();
    94    });
    95  });
    96 
    97  function headline3_rotate() {
    98    current_headline3 = (old_headline3 + 1) % headline3_count;
    99    $("div.headline3:eq(" + old_headline3 + ")").animate({top: -hauteur3},"slow", function() {
    100      $(this).css('top','[(#CONFIG{escal/config/hauteurannoncedefil,210})]px');
    101    });
    102    $("div.headline3:eq(" + current_headline3 + ")").show().animate({top: 0},"slow");
    103    old_headline3 = current_headline3;
    104  }
     93var headline3_count ;
     94var headline3_interval ;
     95var headline3_current ;
     96var hauteur3 = '#CONFIG{escal/config/hauteurannoncedefil,210}' - 5 ;
     97var tempo3 = '#CONFIG{escal/config/tempoannoncedefil, 8}' * 1000 ;
     98
     99$(document).ready(
     100  function()
     101  {
     102    headline3_count = $("div.headline3").length ;
     103    // The div elements are organized as a stack, the 1st one below and the
     104    // last one on the top. We need to hide elements 2..n to show the #1.
     105    for (headline3_current = 1 ;
     106         headline3_current < headline3_count ;
     107         ++headline3_current)
     108      $("div.headline3")
     109        .eq(headline3_current)
     110          .animate({top: -hauteur3},
     111                   0,
     112                   function()
     113                   {
     114                     $(this).css('top','[(#CONFIG{escal/config/hauteurannoncedefil,210})]px') ;
     115                   }
     116                  ) ;
     117  headline3_current = 0 ;
     118  console.log("document.ready headline3_count="+headline3_count+" headline3_current="+headline3_current) ;
     119
     120    //temps en millisecondes
     121    headline3_interval = setInterval(headline3_rotate,tempo3) ;
     122    $('#scrollup3').hover(
     123      function()
     124      {
     125        clearInterval(headline3_interval) ;
     126      },
     127      function()
     128      {
     129        //temps en millisecondes
     130        headline3_interval = setInterval(headline3_rotate, tempo3) ;
     131        headline3_rotate() ;
     132      }
     133    ) ;
     134  }
     135) ;
     136
     137
     138function headline3_rotate()
     139{
     140  console.log("headline3_rotate : efface  headline3_count="+headline3_count+" headline3_current="+headline3_current) ;
     141  $("div.headline3")
     142    .eq(headline3_current)
     143      .animate({top: -hauteur3},
     144               "slow",
     145               function()
     146               {
     147                 $(this).css('top','[(#CONFIG{escal/config/hauteurannoncedefil,210})]px') ;
     148               }
     149              ) ;
     150
     151
     152  // Next element : use an addition and a test rather than a modulo, it's
     153  // faster to compute.
     154  // To be noted : the test is >= rather than >. Indeed > should suit but >=
     155  // acts as a goal-keeper just in case headline3_current would have an
     156  // unattended value at entry.
     157  if (++headline3_current >= headline3_count) headline3_current = 0 ;
     158  console.log("headline3_rotate : affiche headline3_count="+headline3_count+" headline3_current="+headline3_current) ;
     159  $("div.headline3").eq(headline3_current).show().animate({top: 0}, "slow") ;
     160}
     161
    105162
    106163// **********************************
     
    115172
    116173 $(document).ready(function(){
    117    headline4_count = $("div.headline4").size();
     174   headline4_count = $("div.headline4").length ;
    118175   $("div.headline4:eq("+current_headline4+")").css('top','5px');
    119176
     
    147204
    148205 $(document).ready(function(){
    149    headline5_count = $("div.headline5").size();
     206   headline5_count = $("div.headline5").length ;
    150207   $("div.headline5:eq("+current_headline5+")").css('top','5px');
    151208
Note: See TracChangeset for help on using the changeset viewer.