MediaWiki:Common.js: відмінності між версіями

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 22: Рядок 22:
     });
     });
});
});
$(function() {
$(function() {
     var items = $('.l-box-item');
     var items = $('.l-box-item');
Рядок 27: Рядок 28:
      
      
     items.each(function() {
     items.each(function() {
         var href = $(this).attr('href');
         var target = $(this).data('target');
         if (href && href.indexOf('#') === 0) {
         if (target === 'top') {
             var id = decodeURIComponent(href.substring(1));
             sections.push({item: $(this), target: null, offset: 0});
             var target = document.getElementById(id);
        } else {
             if (target) {
             var el = document.getElementById(target);
                 sections.push({item: $(this), target: $(target)});
             if (el) {
                 sections.push({item: $(this), target: $(el), offset: $(el).offset().top});
             }
             }
         }
         }
    });
   
    items.on('click', function() {
        var target = $(this).data('target');
        var scrollTo = 0;
       
        if (target === 'top') {
            scrollTo = 0;
        } else {
            var el = document.getElementById(target);
            if (el) {
                scrollTo = $(el).offset().top - 40;
            }
        }
       
        $('html, body').animate({scrollTop: scrollTo}, 300);
     });
     });
      
      
Рядок 42: Рядок 60:
          
          
         for (var i = 0; i < sections.length; i++) {
         for (var i = 0; i < sections.length; i++) {
             if (sections[i].target.offset().top <= scrollPos) {
             var checkPos = sections[i].target ? sections[i].target.offset().top : 0;
            if (checkPos <= scrollPos) {
                 current = sections[i].item;
                 current = sections[i].item;
             }
             }
Рядок 52: Рядок 71:
         }
         }
     });
     });
   
    $(window).trigger('scroll');
});
});