MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 3: Line 3:
/* mw.loader.load('https://www.zd10.net/new_wiki/skins/pivot/assets/scripts/vendor/jquery.js&action=raw&ctype=text/javascript' ); */
/* mw.loader.load('https://www.zd10.net/new_wiki/skins/pivot/assets/scripts/vendor/jquery.js&action=raw&ctype=text/javascript' ); */
/* mw.loader.load('https://www.zd10.net/new_wiki/skins/pivot/assets/scripts/foundation/foundation.js&action=raw&ctype=text/javascript' ); */
/* mw.loader.load('https://www.zd10.net/new_wiki/skins/pivot/assets/scripts/foundation/foundation.js&action=raw&ctype=text/javascript' ); */
$(document).ready(function() {
   
  var getMax = function(){
    return $(document).height() - $(window).height();
  }
   
  var getValue = function(){
    return $(window).scrollTop();
  }
   
  if ('max' in document.createElement('progress')) {
    // Browser supports progress element
    var progressBar = $('progress');
       
    // Set the Max attr for the first time
    progressBar.attr({ max: getMax() });
    $(document).on('scroll', function(){
      // On scroll only Value attr needs to be calculated
      progressBar.attr({ value: getValue() });
    });
     
    $(window).resize(function(){
      // On resize, both Max/Value attr needs to be calculated
      progressBar.attr({ max: getMax(), value: getValue() });
    });
 
  } else {
    var progressBar = $('.progress-bar'),
        max = getMax(),
        value, width;
       
    var getWidth = function() {
      // Calculate width in percentage
      value = getValue();           
      width = (value/max) * 100;
      width = width + '%';
      return width;
    }
       
    var setWidth = function(){
      progressBar.css({ width: getWidth() });
    }
       
    $(document).on('scroll', setWidth);
    $(window).on('resize', function(){
      // Need to reset the Max attr
      max = getMax();
      setWidth();
    });
  }
});

Revision as of 13:28, 17 March 2019

/* Any JavaScript here will be loaded for all users on every page load. */

/* mw.loader.load('https://www.zd10.net/new_wiki/skins/pivot/assets/scripts/vendor/jquery.js&action=raw&ctype=text/javascript' ); */
/* mw.loader.load('https://www.zd10.net/new_wiki/skins/pivot/assets/scripts/foundation/foundation.js&action=raw&ctype=text/javascript' ); */

$(document).ready(function() {
    
  var getMax = function(){
    return $(document).height() - $(window).height();
  }
    
  var getValue = function(){
    return $(window).scrollTop();
  }
    
  if ('max' in document.createElement('progress')) {
    // Browser supports progress element
    var progressBar = $('progress');
        
    // Set the Max attr for the first time
    progressBar.attr({ max: getMax() });

    $(document).on('scroll', function(){
      // On scroll only Value attr needs to be calculated
      progressBar.attr({ value: getValue() });
    });
      
    $(window).resize(function(){
      // On resize, both Max/Value attr needs to be calculated
      progressBar.attr({ max: getMax(), value: getValue() });
    }); 
  
  } else {

    var progressBar = $('.progress-bar'), 
        max = getMax(), 
        value, width;
        
    var getWidth = function() {
      // Calculate width in percentage
      value = getValue();            
      width = (value/max) * 100;
      width = width + '%';
      return width;
    }
        
    var setWidth = function(){
      progressBar.css({ width: getWidth() });
    }
        
    $(document).on('scroll', setWidth);
    $(window).on('resize', function(){
      // Need to reset the Max attr
      max = getMax();
      setWidth();
    });
  }
});
We collect cookies to analyze our website traffic and performance; we never collect any personal data.