Changeset 58810 in spip-zone


Ignore:
Timestamp:
Feb 24, 2012, 8:50:59 AM (8 years ago)
Author:
kent1@…
Message:

Amélioration du déplacement du menu de langue qui ne nous suit plus jusqu'au bout du monde mais reste confiné à son form parent

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/multilang/multilang_pipelines.php

    r55641 r58810  
    139139                        multilang_init_lang({fields:fields_selector,fields_opt:fields_selector_opt,root:root,root_opt:root_opt,forms:forms_selector});
    140140                       
    141                         if($(".menu_multilang").length > 0){
    142                                 var limite_multilang = $(".menu_multilang").offset().top ;
    143                                 $(window).scroll(function() {
    144                                         if(parseFloat($(this).scrollTop()) > parseFloat(limite_multilang)){
    145                                                 var menu_lang_width = $(".menu_multilang").width();
    146                                                 $(".menu_multilang").addClass("menu_lang_flottant").css({"position": "fixed", "top": 0, "width": menu_lang_width+"px","z-index":"999"});
    147                                         }
    148                                         else if(parseFloat($(this).scrollTop()) <= parseFloat(limite_multilang)){
    149                                                 $(".menu_multilang").removeClass("menu_lang_flottant").css({"position": "static", "width": "auto"});
    150                                         }       
     141                        if($(".menu_multilang").length > 0){
     142                                $(".menu_multilang").each(function(){
     143                                        var menu_lang = $(this);
     144                                        var menu_lang_width = menu_lang.width();
     145                                        $(window).scroll(function() {
     146                                                var offset = menu_lang.parents("form").offset();
     147                                                var limite_multilang = offset.top;
     148                                                var limite_bas = limite_multilang+menu_lang.parents("form").height()-menu_lang.parents("form").find(".boutons").height();
     149                                                var pos_bas = menu_lang.offset().top+menu_lang.height();
     150                                                if(($(window).scrollTop() >= limite_multilang) && (pos_bas <= limite_bas) && ($(window).scrollTop() < limite_bas)){
     151                                                        if(!menu_lang.hasClass("menu_lang_flottant"))
     152                                                                menu_lang.addClass("menu_lang_flottant")
     153                                                        menu_lang.css({"position": "fixed", "top": 0, "width": menu_lang_width+"px","z-index":"999"});
     154                                                }
     155                                                if(($(window).scrollTop() < limite_multilang)||(pos_bas > limite_bas) )
     156                                                        menu_lang.removeClass("menu_lang_flottant").css({"position": "static", "width": "auto"});
     157                                        });
    151158                                });
    152159                        }
Note: See TracChangeset for help on using the changeset viewer.