MediaWiki:Common.js

来自Arcaea中文维基
Star0讨论 | 贡献2021年5月16日 (日) 12:37的版本

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */

if(mw.config.get('wgUserName')){mw.loader.load("/index.php?title=User:"+mw.config.get('wgUserName')+"/"+mw.config.get('wgPageName')+".js&action=raw&ctype=text/javascript")}

{mw.loader.load("/index.php?title=MediaWiki:Tangle/"+mw.config.get('wgPageName')+".js&action=raw&ctype=text/javascript")}

/* 新曲目信息tab:测试*/

function tabs_v2() {
	var divObj_a = document.getElementById('tab-a').children
	var content_a = document.getElementsByClassName('tab-text-a')
	for (var i = 0; i < divObj_a.length; i++) {
		divObj_a[i].setAttribute('index', i) 
		divObj_a[i].onclick = function() {
			for (var j = 0; j < divObj_a.length; j++) {
				content_a[j].classList.remove('active') 
			}
			content_a[this.getAttribute('index')].classList.add('active') 
		}
	}

	var divObj_b = document.getElementById('tab-b').children
	var content_b = document.getElementsByClassName('tab-text-b')
	for (var i = 0; i < divObj_b.length; i++) {
		divObj_b[i].setAttribute('index', i) 
		divObj_b[i].onclick = function() {
			for (var j = 0; j < divObj_b.length; j++) {
				content_b[j].classList.remove('active') 
			}
			content_b[this.getAttribute('index')].classList.add('active') 
		}
	}
}
$(tabs_v2);

/* 顶部公告 */
/* From wjghj.cn under CC BY-NC-SA 4.0*/
function siteNoticeScroll(obj,interval) {
  $(obj).animate({
    height: 'show',
    paddingTop: 'show',
    marginTop: 'show',
    paddingBottom: 'show',
    marginBottom: 'show',
  });
  setInterval(function() {
    $(obj).find('ul:first').animate({
      marginTop: '-25px'
    },
    300,
    function() {
      $(this).css({
        marginTop: '0px',
      }).find('li:first').appendTo(this);
    });
  },
  interval);
}
siteNoticeScroll('.siteNoticeScroll',5000);

/* JavaScript used for https://zh.wikipedia.org/wiki/MediaWiki:Common.js : */

    /** metaBox
     *
     * Funcionament de la Plantilla:Metacaixa
     * Implementat per: Usuari:Peleguer.
     * Actualitzat per Joanjoc seguint les indicacions d'en Martorell
     */
    function MetaCaixaInit() {
      // S'executa al carregar-se la pàgina, si hi ha metacaixes,
      // s'assignen els esdeveniments als botons
      //alert("MetaCaixaInit");
      var i = 0; // Inicialitzem comptador de caixes
      for (i = 0; i <= 9; i++) {
        var vMc = document.getElementById("mc" + i);
        if (!vMc) break;
        //alert("MetaCaixaInit, trobada Metacaixa mc"+i);
        var j = 1; // Inicialitzem comptador de botons dins de la caixa
        var vPsIni = 0; // Pestanya visible inicial
        for (j = 1; j <= 9; j++) {
          var vBt = document.getElementById("mc" + i + "bt" + j);
          if (!vBt) break;
          //alert("MetaCaixaInit, trobat botó mc"+i+"bt"+j);
          vBt.onclick = MetaCaixaMostraPestanya; // A cada botó assignem l'esdeveniment onclick
          //alert (vBt.className);
          if (vBt.className == "mcBotoSel") vPsIni = j; // Si tenim un botó seleccionat, en guardem l'index
        }
        //alert ("mc="+i+", ps="+j+", psini="+vPsIni );
        if (vPsIni === 0) { // Si no tenim cap botó seleccionat, n'agafem un aleatòriament
          vPsIni = 1 + Math.floor((j - 1) * Math.random());
          //alert ("Activant Pestanya a l'atzar; _mc"+i+"bt"+vPsIni +"_");
          document.getElementById("mc" + i + "ps" + vPsIni).style.display = "block";
          document.getElementById("mc" + i + "ps" + vPsIni).style.visibility = "visible";
          document.getElementById("mc" + i + "bt" + vPsIni).className = "mcBotoSel";
        }
      }
    }

    function MetaCaixaMostraPestanya() {
      // S'executa al clicar una pestanya,
      // aquella es fa visible i les altres s'oculten
      var vMcNom = this.id.substr(0, 3); // A partir del nom del botó, deduïm el nom de la caixa
      var vIndex = this.id.substr(5, 1); // I l'index
      var i = 1;
      for (i = 1; i <= 9; i++) { // busquem totes les pestanyes d'aquella caixa
        //alert(vMcNom+"ps"+i);
        var vPsElem = document.getElementById(vMcNom + "ps" + i);
        if (!vPsElem) break;
        if (vIndex == i) { // Si és la pestanya bona la mostrem i canviem la classe de botó
          vPsElem.style.display = "block";
          vPsElem.style.visibility = "visible";
          document.getElementById(vMcNom + "bt" + i).className = "mcBotoSel";
        } else { // Sinó, l'ocultem i canviem la classe de botó
          vPsElem.style.display = "none";
          vPsElem.style.visibility = "hidden";
          document.getElementById(vMcNom + "bt" + i).className = "mcBoto";
        }
      }
      return false; // evitem la recàrrega de la pàgina
    }
    $(MetaCaixaInit);

    /* 智能讨论页编辑(新建) */
    $(function () {
      var catalk = $('#ca-talk');
      if (catalk.hasClass('new') && mw.config.get('wgNamespaceNumber') != 2) {
        var a = $('a:first', catalk);
        a.attr('href', a.attr('href') + '&section=new');
      }
    });