舰R百科是靠无数自愿编辑者持续地建设更新完善的。编辑非常简单,请勇于更新页面!
编辑入门 | 资助百科 | 留言讨论页 | 微博@舰R百科 | 百科编辑讨论Q群:366818861

MediaWiki:Common.js:修订间差异

来自舰R百科
跳转到导航 跳转到搜索
(// Edit via Wikiplus)
(// Edit via Wikiplus)
第466行: 第466行:
         'data-left': 0,
         'data-left': 0,
         'data-length': self.find('li').length
         'data-length': self.find('li').length
     }).find('li').width(ul.width());
     }).find('li').width(self.width());
     window.setInterval(function () {
     window.setInterval(function () {
         var dataset = ul[0].dataset,
         var dataset = ul[0].dataset,

2016年6月12日 (日) 13:07的版本

/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
/* 切换立绘按钮(当前作废) */
$(document).ready(function () {
    $("#btn_2").click(function () {
        $("#btn_1, #btn_2").hide();
        $("#btn_3, #btn_4").show();
    });
    $("#btn_3").click(function () {
        $("#btn_1, #btn_3").hide();
        $("#btn_2, #btn_4").show();
    });
    $("#btn_4").click(function () {
        $("#btn_1, #btn_4").hide();
        $("#btn_2, #btn_3").show();
    });
    $("#btn_5").click(function () {
        $("#btn_1, #btn_2, #btn_3, #btn_4").show();
    });
});

/* Countdown */
// __NOWYSIWYG__ <source lang="javascript">
/**
* Countdown
*
* @version 2.1
*
* @author Pecoes <http://c.wikia.com/wiki/User:Pecoes>
* @author Asaba <http://dev.wikia.com/wiki/User:Asaba>
*
* Version 1 authors:
* - Splarka <http://c.wikia.com/wiki/User:Splarka>
* - Eladkse <http://c.wikia.com/wiki/User:Eladkse>
*
* documentation and examples at:
* <http://dev.wikia.com/wiki/Countdown>
*/

/*jshint jquery:true, browser:true, devel:true, camelcase:true, curly:false, undef:true, bitwise:true, eqeqeq:true, forin:true, immed:true, latedef:true, newcap:true, noarg:true, unused:true, regexp:true, strict:true, trailing:false */
/*global mediaWiki:true*/

(function (module, mw, $, undefined) {

    'use strict';

    var translations = {};
    $.extend(translations, {
        // Catalan (Català)
        ca: {
            and: 'i',
            second: 'segon',
            seconds: 'segons',
            minute: 'minut',
            minutes: 'minuts',
            hour: 'hora',
            hours: 'hores',
            day: 'dia',
            days: 'dies'
        },
        // German (Deutsch)
        de: {
            and: 'und',
            second: 'Sekunde',
            seconds: 'Sekunden',
            minute: 'Minute',
            minutes: 'Minuten',
            hour: 'Stunde',
            hours: 'Stunden',
            day: 'Tag',
            days: 'Tage'
        },
        // English (English)
        en: {
            and: 'and',
            second: 'second',
            seconds: 'seconds',
            minute: 'minute',
            minutes: 'minutes',
            hour: 'hour',
            hours: 'hours',
            day: 'day',
            days: 'days'
        },
        // Greek (Ελληνικά)
        el: {
            and: 'και',
            second: 'δευτερόλεπτο',
            seconds: 'δεπτερόλεπτα',
            minute: 'λετπό',
            minutes: 'λεπτά',
            hour: '΄΄ωρα',
            hours: 'ώρες',
            day: 'ημέρα',
            days: 'ημέρες'
        },
        // Spanish (Español)
        es: {
            and: 'y',
            second: 'segundo',
            seconds: 'segundos',
            minute: 'minuto',
            minutes: 'minutos',
            hour: 'hora',
            hours: 'horas',
            day: 'día',
            days: 'días'
        },
        // French (Français)
        fr: {
            and: 'et',
            second: 'seconde',
            seconds: 'secondes',
            minute: 'minute',
            minutes: 'minutes',
            hour: 'heure',
            hours: 'heures',
            day: 'jour',
            days: 'jours'
        },
        // Hungarian (Magyar)
        hu: {
            and: 'és',
            second: 'másodperc',
            seconds: 'másodperc',
            minute: 'perc',
            minutes: 'perc',
            hour: 'óra',
            hours: 'óra',
            day: 'nap',
            days: 'nap'
        },
        // Italian (Italiano)
        it: {
            and: 'e',
            second: 'secondo',
            seconds: 'secondi',
            minute: 'minuto',
            minutes: 'minuti',
            hour: 'ora',
            hours: 'ore',
            day: 'giorno',
            days: 'giorni'
        },
        // Japanese (日本語)
        ja: {
            and: '',
            second: '秒',
            seconds: '秒',
            minute: '分',
            minutes: '分',
            hour: '時間',
            hours: '時間',
            day: '日',
            days: '日'
        },
        // Malay (Bahasa Melayu)
        ms: {
            and: 'dan',
            second: 'saat',
            seconds: 'saat',
            minute: 'minit',
            minutes: 'minit',
            hour: 'jam',
            hours: 'jam',
            day: 'hari',
            days: 'hari'
        },
        // Dutch (Nederlands)
        nl: {
            and: 'en',
            second: 'seconde',
            seconds: 'seconden',
            minute: 'minuut',
            minutes: 'minuten',
            hour: 'uur',
            hours: 'uur',
            day: 'dag',
            days: 'dagen'
        },
        // Polish (Polski)
        pl: {
            and: 'i',
            second: 'sekunda',
            seconds: 'sekund(y)',
            minute: 'minuta',
            minutes: 'minut(y)',
            hour: 'godzina',
            hours: 'godzin(y)',
            day: 'dzień',
            days: 'dni'
        },
        // Portuguese (Português)
        pt: {
            and: 'e',
            second: 'segundo',
            seconds: 'segundos',
            minute: 'minuto',
            minutes: 'minutos',
            hour: 'hora',
            hours: 'horas',
            day: 'dia',
            days: 'dias'

        },
        // Brazilian Portuguese (Português do Brasil)
        'pt-br': {
            and: 'e',
            second: 'segundo',
            seconds: 'segundos',
            minute: 'minuto',
            minutes: 'minutos',
            hour: 'hora',
            hours: 'horas',
            day: 'dia',
            days: 'dias'

        },
        // Russian (русский)
        ru: {
            and: 'и',
            second: 'секунда',
            seconds: 'секунд',
            minute: 'минута',
            minutes: 'минут',
            hour: 'час',
            hours: 'часов',
            day: 'день',
            days: 'дней'
        },
        // Serbian (српски језик)
        sr: {
            and: 'i',
            second: 'sekundu',
            seconds: 'sekunde/-i',
            minute: 'minutu',
            minutes: 'minute/-a',
            hour: 'sat',
            hours: 'sata/-i',
            day: 'dan',
            days: 'dana'
        },
        // Vietnamese (Tiếng Việt)
        vi: {
            and: 'và',
            second: 'giây',
            seconds: 'giây',
            minute: 'phút',
            minutes: 'phút',
            hour: 'giờ',
            hours: 'giờ',
            day: 'ngày',
            days: 'ngày'
        },
        // Chinese (中文)
        zh: {
            and: ' ',
            second: '秒',
            seconds: '秒',
            minute: '分',
            minutes: '分',
            hour: '小时',
            hours: '小时',
            day: '天',
            days: '天'
        }
    }, module.translations || {});
    var countdowns = [],
        i18n = translations[
            mw.config.get('wgContentLanguage')
        ] || translations.zh,
        NO_LEADING_ZEROS = 1;

    function output(i, diff) {
        /*jshint bitwise:false*/
        var delta, result, parts = [];
        delta = diff % 60;
        parts.unshift(delta + ' ' + i18n[delta === 1 ? 'second' : 'seconds']);
        diff = Math.floor(diff / 60);
        delta = diff % 60;
        parts.unshift(delta + ' ' + i18n[delta === 1 ? 'minute' : 'minutes']);
        diff = Math.floor(diff / 60);
        delta = diff % 24;
        parts.unshift(delta + ' ' + i18n[delta === 1 ? 'hour' : 'hours']);
        diff = Math.floor(diff / 24);
        parts.unshift(diff + ' ' + i18n[diff === 1 ? 'day' : 'days']);
        result = parts.pop();
        if (countdowns[i].opts & NO_LEADING_ZEROS) {
            while (parts.length && parts[0][0] === '0') {
                parts.shift();
            }
        }
        if (parts.length) {
            result = parts.join(', ') + ' ' + i18n.and + ' ' + result;
        }
        countdowns[i].node.text(result);
    }

    function end(i) {
        var c = countdowns[i].node.parent();
        switch (c.attr('data-end')) {
            case 'remove':
                c.remove();
                return true;
            case 'stop':
                output(i, 0);
                return true;
            case 'toggle':
                var toggle = c.attr('data-toggle');
                if (toggle && $(toggle).length) {
                    $(toggle).css('display', 'inline');
                    c.css('display', 'none');
                    return true;
                }
                break;
            case 'callback':
                var callback = c.attr('data-callback');
                if (callback && $.isFunction(module[callback])) {
                    output(i, 0);
                    module[callback].call(c);
                    return true;
                }
                break;
        }
        countdowns[i].countup = true;
        output(i, 0);
        return false;
    }

    function update() {
        var now = Date.now();
        var countdownsToRemove = [];
        $.each(countdowns.slice(0), function (i, countdown) {
            var diff = Math.floor((countdown.date - now) / 1000);
            if (diff <= 0 && !countdown.countup) {
                if (end(i)) countdownsToRemove.push(i);
            } else {
                output(i, Math.abs(diff));
            }
        });
        var x;
        while ((x = countdownsToRemove.pop()) !== undefined) {
            countdowns.splice(x, 1);
        }
        if (countdowns.length) {
            window.setTimeout(function () {
                update();
            }, 1000);
        }
    }

    function getOptions(node) {
        /*jshint bitwise:false*/
        var text = node.parent().attr('data-options'),
            opts = 0;
        if (text) {
            if (/no-leading-zeros/.test(text)) {
                opts |= NO_LEADING_ZEROS;
            }
        }
        return opts;
    }

    $(function () {
        var countdown = $('.countdown');
        if (!countdown.length) return;
        $('.nocountdown').css('display', 'none');
        countdown
            .css('display', 'inline')
            .find('.countdowndate')
            .each(function () {
                var $this = $(this),
                    date = (new Date($this.text())).valueOf();
                if (isNaN(date)) {
                    $this.text('BAD DATE');
                    return;
                }
                countdowns.push({
                    node: $this,
                    opts: getOptions($this),
                    date: date,
                });
            });
        if (countdowns.length) {
            update();
        }
    });

} (window.countdownTimer = window.countdownTimer || {}, mediaWiki, jQuery));
//</source>

/*   导航   */
$(function () {
    /*战舰少女R导航*/
    (function ($, de) {
        /*导航栏悬浮、点击展开*/
        $(".banner1").hover(function () {
            $(this).find(".banner2").eq(0).show();
        }, function () {
            $(this).find(".banner2").eq(0).hide();
        });
        var isTouch = ('ontouchstart' in de) ? 'touchstart' : 'click', _on = $.fn.on;
        $.fn.on = function () {
            arguments[0] = (arguments[0] === 'click') ? isTouch : arguments[0];
            return _on.apply(this, arguments);
        };
        $(".banner1").on("click", function () {
            var obj = $(this).find(".banner2").eq(0);
            if (obj.is("visible")) {
                obj.hide();
            } else {
                obj.show();
            }
            $(this).siblings().find(".banner2").hide();
        });
        /*导航栏倒计时*/
        var now = new Date();
        var nows = now.getTime();
        now.setHours(0);
        now.setMinutes(0);
        now.setSeconds(0);
        var today = now.getTime();

        var passed = Math.floor((nows - today) / 1000);
        changeCountDown();
        setInterval(function () {
            changeCountDown();
        }, 1000);
        function changeCountDown() {
            var lave = 24 * 60 * 60 - passed, h = Math.floor(lave / 3600), m = Math.floor((lave - h * 3600) / 60), s = lave - h * 3600 - m * 60, _s = '', _c = '#0F3';
            if (passed < 60) _s = ",成功+1day";
            if (passed > 12 * 3600) _c = "#fc0";
            if (passed > 23 * 3600) _c = "#F30";
            $("#zjsnr-lavetime").html("<span style='color:" + _c + "'>" + h + "</span>" + "小时" + "<span style='color:" + _c + "'>" + m + "</span>" + "分" + "<span style='color:" + _c + "'>" + s + "</span>" + "秒" + _s);
            passed++;
        }

    } (jQuery, document.documentElement));
});

/* 显示上级页面标题的链接 */
$(function () {
    if (mw.config.values.wgPageName.indexOf('/') != -1 && !$('.subpages')[0] && (mw.config.values.wgNamespaceIds.special != mw.config.values.wgNamespaceNumber || mw.config.values.wgPageName.indexOf('Special:移动页面') != -1)) {
        var links = mw.config.values.wgPageName.split('/'),
            link = '/wiki',
            subpages = $('<span class="subpages"></span>').text('<'),
            length = links.length - 1,
            index;
        if (mw.config.values.wgPageName.indexOf('Special:移动页面') != -1) links.splice(0, 1);
        for (index = 0; index < length; index++) {
            link += '/' + links[index];
            subpages.append($('<a/>', {
                text: ' ' + links[index],
                href: link
            }));
            if (length - index - 1) subpages.append(" |");
        }
        $('#contentSub').prepend(subpages);
    }
});
/* sitenotice */
$(function () {
    var self = $('#siteNoticeScroll');
    if (!self[0]) return;
    var ul = self.find('ul:first');
    ul.css('width', 100 * self.find('li').length + '%').attr({
        'data-left': 0,
        'data-length': self.find('li').length
    }).find('li').width(self.width());
    window.setInterval(function () {
        var dataset = ul[0].dataset,
            oldLeft = +dataset.left;
        ul.animate({
            marginLeft: -(++oldLeft * 100) + '%'
        }, 730, function () {
            dataset.left = oldLeft === +dataset.length ? -1 : oldLeft;
        });
    }, 5000);
});