Changeset 45467 in spip-zone


Ignore:
Timestamp:
Mar 16, 2011, 1:20:42 PM (9 years ago)
Author:
ccapdev@…
Message:

On reviens en arrière a cause d'Internet Explorer 7 qui n'arrive pas à suivre...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/soyezcreateurs_net/plugins_2.1/plugins/soyezcreateurs/javascripts.js.html

    r44655 r45467  
    2323var jp_strReplier='<:soyezcreateurs:menu_replier:>';
    2424var jp_parentID='menu';
    25 // Déclaration de variables
    26 var altAttr='';
    27 var titleAttr='';
    2825// Checking for DOM compatibility       
    2926if (document.getElementById && document.createTextNode && document.createElement){jp_canDOM=true}
    3027
    31 function jp_expinit2() {
    32         // Parcour des sous menus pour leurs appliquer à chacuns la bonne apparence
    33         $('#'+jp_parentID+' li.smenu').each(function() {
    34                 // cibles
    35                 var imgInsert_target = $(this).find('a:first');
    36                 var ul_target = $(this).find('ul:first');
    37                 var a_target = $(this).find('a:first');
    38                
    39                 //Création de l'image
    40                 $('<img/>', {
    41                         src: jp_blankpic,
    42                         alt: jp_picalt,
    43                         className: 'node'
    44                 }).insertBefore(imgInsert_target);
    45                        
    46                 // Application des attributs en fonction de la présence ou non du strong
    47                 if($(this).find("strong").size() > 0) {
    48                         var pic_alt = jp_picalt+jp_strReplier+$(a_target).text();
    49                         $('img.node', this).attr({
    50                                 'className':jp_offclass,
    51                                 'title':pic_alt,
    52                                 'alt':pic_alt
    53                         });
    54                         $(ul_target).css('display', 'block');
    55                 } else {
    56                         var pic_alt = jp_picalt+jp_strDeplier+$(a_target).text();
    57                         $('img.node', this).attr({
    58                                 'className':jp_onclass,
    59                                 'title':pic_alt,
    60                                 'alt':pic_alt
    61                         });
    62                         $(ul_target).css('display', 'none');
    63                 }
    64         });
    65        
    66         $('#'+jp_parentID+' img.'+jp_offclass).click(function(event) {jp_ex2(event);});
    67         $('#'+jp_parentID+' img.'+jp_onclass).click(function(event) {jp_ex2(event);});
    68         $('#'+jp_parentID+' .smenu a').focusin(function(event) {jp_ex2(event);});
    69         $('#'+jp_parentID+' .smenu a').keypress(function(event) {jp_ex2(event);});
    70         $('a, input, select, img, button, h2, h3, dd, acronym, abbr, area').mouseenter(function(event) {hoverAttr(event);});
    71         $('a, input, select, img, button, h2, h3, dd, acronym, abbr, area').mouseleave(function(event) {hoverAttr(event);});
    72 }
    73 ;
    74 function jp_ex2(event) {
    75         //Définition des cibles
    76         var img_target = $(event.target).parents("li:first").find("img:first");
    77         var ul_target = $(event.target).parents("li:first").find("ul:first");
    78         var a_target = $(event.target).parents("li:first").find("a:first");
    79        
    80         // Fermeture/ouverture
    81         if( ( (event.type=='click' || event.type=='focusin') && $(ul_target).css('display')=='none') || (event.type=='keypress' && event.which==43) ) {
    82                 $(img_target).addClass(jp_offclass).removeClass(jp_onclass);
    83                 $(ul_target).css('display', 'block');
    84                 var jp_strAltNew = jp_picalt+jp_strReplier+$(a_target).text();
    85         } else {
    86                 if(event.type=='click' || (event.type=='keypress' && event.which==45)) {
    87                         $(img_target).addClass(jp_onclass).removeClass(jp_offclass);
    88                         $(ul_target).css('display', 'none');
    89                         var jp_strAltNew = jp_picalt+jp_strDeplier+$(a_target).text();
    90                 }
    91         }
    92        
    93         // On change les info bulle
    94         $(img_target).attr({'alt':jp_strAltNew,'title':jp_strAltNew});
    95         // On ajuste le Layout
    96         adjustLayout();
    97         // On rafraichie les info bulle si elle sont afficher avec tooltips
    98         rafraichirTooltip(img_target); 
    99 }
    100 ;
    101 function rafraichirTooltip(target) {
    102         [(#CONFIG{soyezcreateurs/native_tooltips}|=={on}|non)
    103         $(target).each(function() {
    104                 var this_alt = $(this).attr('alt');
    105                 var this_title = $(this).attr('title');
    106                 $(this).tooltip({
    107                         track: false,
    108                         delay: 0,
    109                         showURL: false,
    110                         showBody: " - ",
    111                         fade: 250
    112                 });
    113                 $(this).attr({alt:this_alt,title:this_title});
    114         });
    115         ]
    116 }
    117 ;
    118 function hoverAttr(event) {
    119         if(event.type=='mouseenter') {
    120                 altAttr=$(event.target).attr('alt');
    121                 titleAttr=$(event.target).attr('title');
    122                 $(event.target).attr({alt:'',title:''});
    123         } else
    124                 if(event.type=='mouseleave') $(event.target).attr({alt:altAttr,title:titleAttr});
    125 }
    126 ;
     28function jp_expinit(){
     29        if (jp_canDOM){
     30                if(jp_parentID && document.getElementById(jp_parentID)){
     31                        jp_alluls=document.getElementById(jp_parentID).getElementsByTagName('UL');
     32                        jp_alllis=document.getElementById(jp_parentID).getElementsByTagName('LI');
     33                }else{
     34                        jp_alluls=document.getElementsByTagName('UL');
     35                        jp_alllis=document.getElementsByTagName('LI');
     36                }
     37                for(i=0;i<jp_alluls.length;i++){
     38                        jp_subul=jp_alluls[i];
     39                        if(jp_subul.parentNode.tagName=='LI'){
     40                                jp_supli=jp_subul.parentNode
     41                                jp_islink=jp_supli.getElementsByTagName('a')[0];
     42                                if(jp_islink){
     43                                        jp_addimg = document.createElement('img');
     44                                        jp_addimg.src=jp_blankpic;
     45                                        jp_addimg.className='node';
     46                                        jp_addimg.alt='';
     47                                        jp_addimg.onclick=function() {jp_ex(this,null);return false;};
     48                                        jp_supli.getElementsByTagName('A')[0].onkeypress=inputKeyHandler;
     49                                        jp_supli.getElementsByTagName('A')[0].onfocus=function() {jp_ex(this,0);};
     50                                        jp_supli.insertBefore(jp_addimg,jp_supli.firstChild);
     51                                }
     52                                // Do not collapse when there is a strong element in the list.
     53                                jp_highlight=jp_subul.parentNode.getElementsByTagName('strong').length==0?true:false;
     54                                jp_disp=jp_highlight?'none':'block';
     55                                var jp_picaltonoff=jp_highlight?jp_picalt+jp_strDeplier:jp_picalt+jp_strReplier;
     56                                jp_pic_class=jp_highlight?jp_onclass:jp_offclass;
     57                                // End  highlight change
     58                                jp_childs=jp_subul.getElementsByTagName('li').length
     59                                jp_momimg=jp_subul.parentNode.getElementsByTagName('img')[0]
     60                                if(jp_momimg){
     61                                        jp_momimg.setAttribute('title',jp_picaltonoff+jp_subul.parentNode.getElementsByTagName('a')[0].text);
     62                                        jp_momimg.setAttribute('alt',jp_picaltonoff+jp_subul.parentNode.getElementsByTagName('a')[0].text);
     63                                        jp_momimg.className=jp_pic_class;
     64                                        jp_subul.style.display=jp_disp;
     65                                }
     66                        }
     67                }
     68        }
     69}
     70
     71// Collapse and Expand node.
     72function jp_ex(jp_n,jp_event){
     73        if(jp_canDOM){
     74                jp_u=jp_n.parentNode.getElementsByTagName("ul")[0];
     75                if (!jp_u) jp_u=jp_n.parentNode.parentNode.getElementsByTagName("ul")[0];;
     76                if(jp_u){
     77                        if (((jp_u.style.display=='none'||jp_u.style.display=='')&&(jp_event==0||jp_event==43||jp_event==null))||((jp_u.style.display=='block')&&(jp_event==45||jp_event==null))) {
     78                                jp_u.style.display=jp_u.style.display=='none'||jp_u.style.display==''?'block':'none';
     79                                jp_img=jp_u.parentNode.getElementsByTagName('img')[0];
     80                                jp_img.className=jp_img.className.indexOf(jp_offclass)!=-1?jp_onclass:jp_offclass;
     81                                var jp_strAlt=jp_img.getAttribute('title');
     82                                if (jp_strAlt==null) { jp_strAlt=''; }
     83                                if (jp_img.className.indexOf(jp_offclass)!=-1) {
     84                                        var jp_re = new RegExp (jp_strDeplier, 'gi');
     85                                        var jp_strAltNew = jp_strAlt.replace(jp_re,jp_strReplier);
     86                                }else{
     87                                        var jp_re = new RegExp (jp_strReplier, 'gi');
     88                                        var jp_strAltNew = jp_strAlt.replace(jp_re,jp_strDeplier);
     89                                }
     90                                jp_img.setAttribute('title',jp_strAltNew);
     91                                jp_img.setAttribute('alt',jp_strAltNew);
     92                                adjustLayout();
     93                                return true;
     94                        } else {
     95                                return false;
     96                        }
     97                }
     98        }                       
     99}
     100function inputKeyHandler(ev) {
     101        ev = ev || event;
     102        if (jp_ex(ev.target || ev.srcElement,ev.keyCode || ev.which)) {
     103                ev.cancelBubble= true;
     104                if (ev.stopPropagation) ev.stopPropagation();
     105        }
     106}
     107
     108
    127109function adjustLayout() {
    128110        /* Remettre la taille à auto pour trouver l'eventuelle nouvelle hauteur !*/
     
    207189function myInitPages() {
    208190    jQuery('body').addClass('hasJS');
    209         [(#CONFIG{soyezcreateurs_layout/menuderoulant,replie}|=={replie}|oui)jp_expinit2();]
     191        [(#CONFIG{soyezcreateurs_layout/menuderoulant,replie}|=={replie}|oui)jp_expinit();]
    210192        // Surligner l'evenement en cours
    211193        var id_anchor  = location.hash.substr(1); //Get the word after the hash from the url
     
    228210        }
    229211;
    230         rafraichirTooltip('a, input, select, img, button, h2, h3, dd, acronym, abbr, area');
     212[(#CONFIG{soyezcreateurs/native_tooltips}|=={on}|non)
     213        $(function() {
     214                $('a, input, select, img, button, h2, h3, dd, acronym, abbr, area').tooltip({
     215                        track: false,
     216                        delay: 0,
     217                        showURL: false,
     218                        showBody: " - ",
     219                        fade: 250
     220                });
     221        });
     222]
    231223        $(".escapelinks a").focus( function() { $(".escapelinks").removeClass("escapelinks"); } );
    232224
     
    290282}
    291283;
     284
    292285/* HOME CYCLE */
    293286function homeCarousel(elt) {
     
    361354        });
    362355}
    363 ;
     356
    364357$(document).ready(function() {
    365358        myInitPages();
     
    368361        if (jQuery('#arretSurImg .mainCarousels').size() > 0) { homeCarousel('.mainCarousels'); }
    369362});
    370 
Note: See TracChangeset for help on using the changeset viewer.