MediaWiki:NumerAlpha.js: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
Linha 6: | Linha 6: | ||
function mainFunc() { |
function mainFunc() { |
||
function romanize(num) { |
function romanize(num) { |
||
if (isNaN(num)) return NaN; |
if (Number.isNaN(num)) return NaN; |
||
const digits = String(+num).split(''); |
const digits = String(+num).split(''); |
||
const key = [ |
const key = [ |
||
Linha 51: | Linha 51: | ||
for (let [i, element] of incrementElemsNumeral.entries()) { |
for (let [i, element] of incrementElemsNumeral.entries()) { |
||
element.innerHTML = `${+ |
element.innerHTML = `${(i += 1)}. ${element.innerHTML}`; |
||
} |
} |
||
Linha 59: | Linha 59: | ||
for (let [i, element] of incrementElemsRoman.entries()) { |
for (let [i, element] of incrementElemsRoman.entries()) { |
||
element.innerHTML = `${romanize(+ |
element.innerHTML = `${romanize((i += 1))}. ${element.innerHTML}`; |
||
} |
} |
||
} |
} |
Edição atual tal como às 13h34min de 19 de agosto de 2024
// from: https://stackoverflow.com/questions/9083037
// To be used in Template:CardCatalog and other places as well
/* jshint esversion: 10 */
function mainFunc() {
function romanize(num) {
if (Number.isNaN(num)) return NaN;
const digits = String(+num).split('');
const key = [
'',
'C',
'CC',
'CCC',
'CD',
'D',
'DC',
'DCC',
'DCCC',
'CM',
'',
'X',
'XX',
'XXX',
'XL',
'L',
'LX',
'LXX',
'LXXX',
'XC',
'',
'I',
'II',
'III',
'IV',
'V',
'VI',
'VII',
'VIII',
'IX',
];
let roman = '';
let i = 3;
while (i--) roman = (key[+digits.pop() + i * 10] || '') + roman;
return Array(+digits.join('') + 1).join('M') + roman;
}
const incrementElemsNumeral = document.querySelectorAll(
'.increment-numeralpha-numeral',
);
for (let [i, element] of incrementElemsNumeral.entries()) {
element.innerHTML = `${(i += 1)}. ${element.innerHTML}`;
}
const incrementElemsRoman = document.querySelectorAll(
'.increment-numeralpha-roman',
);
for (let [i, element] of incrementElemsRoman.entries()) {
element.innerHTML = `${romanize((i += 1))}. ${element.innerHTML}`;
}
}
if (document.readyState === 'complete' || document.readyState !== 'loading') {
mainFunc();
} else {
document.addEventListener('DOMContentLoaded', mainFunc);
}