MediaWiki:Gadget-reftooltips.js

Материал из Абсурдопедии
Перейти к навигацииПерейти к поиску

Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
  • Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
  • Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
/** Ref tooltips******************************************
  *
  *  Description: Replace references with JQuery-based tooltips
  *  Made by:  Tachikoma
  */

$(function() {
    if(!($('ol.references').length)) return;
    $('ol.references').before($('<a ' + 'href="#" id="showrefs">[показать примечания]</a>').click(function(e){e.preventDefault(); $('#showrefs').html( ($('ol.references').toggle().css('display') == 'none') ? "[показать примечания]" : "[скрыть примечания]" )})).hide()
    $('.reference a').click(function(e) { 
        e.preventDefault();

        var x = $(this), iscurrent = x.hasClass('curreference'), i = $('.tooltip').hide(250)
        $('.curreference').removeClass('curreference'); 
        if (iscurrent) return;
        var par = x.parent(), o = par.offset(), l = o.left, t = o.top+13
        var b = $('body'), mh = b.height(), mw = b.width()

        var c=$(document.getElementById(x.attr('href').substr(1))).find('.reference-text').html()
 
        x.addClass('areference').addClass('curreference') 
        if (!i.length) i = $('<div/>').addClass('tooltip')
        i.appendTo(b).queue(function() {
            i.empty().append(c).css({ 'left': l-((l+i.width() >= mw) && i.width()), 'top': t-((t+i.height() >= mh) && (i.height()+26)) }).dequeue()
        }).show(250)
    })
    $(window).click(function(e) {
        if (!($(e.target).hasClass('areference') || $(e.target).parents().addBack().hasClass('tooltip'))) {
            $('.tooltip').hide(250); $('.curreference').removeClass('curreference')
        }
    })
})