Добро пожаловать на Lesta Games Wiki!

Участник:Degit22:ru/common.js — различия между версиями

Перейти к: навигация, поиск
Версия 09:55, 24 июня 2015Версия 16:54, 24 июня 2015
Строка 1:Строка 1:
 /* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */ /* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */
 function addImagePopupWindow2() { function addImagePopupWindow2() {
? $('body').append(+ $('body').append(
? '<div id="popupImageWindow2">'++ '<div id="popupImageWindow2"><table><tr><td style="vertical-align: middle;">'+
? '<table>'++ '<div id="popupImageOverlay"></div>'+
? '<tr>'++ '<div id="popupImageWrapper2">'+
? '<td style="vertical-align: middle;">'++ '<img id="popupImage2" src="" />'+
? '<div id="popupImage-overlay"></div>'++ '<img src="//wikicdn.wargaming.net/images/b/bd/Close.png" class="closeBtn">'+
? '<div id="popupImageWrapper2">'++ '<a id="popupImage-left" href="javascript:;">'+
? '<img id="popupImage2" src="" />'++ '<span id="popupImage-ico-left" class="popupImage-ico"></span>'+
? '<img src="//wikicdn.wargaming.net/images/b/bd/Close.png" class="closeBtn">'++ '</a>'+
? '<a id="popupImage-left" href="javascript:;">'++ '<a id="popupImage-right" href="javascript:;">'+
? '<span id="popupImage-ico-left" class="popupImage-ico"></span>'++ '<span id="popupImage-ico-right" class="popupImage-ico"></span>'+
? '</a>'++ '</a>'+
? '<a id="popupImage-right" href="javascript:;">'++ '<div id="popupImageInfo2"></div>'+
? '<span id="popupImage-ico-right" class="popupImage-ico"></span>'++ '</div>'+
? '</a>'++ '</td></tr></table></div>'+
? '<div id="popupImageInfo2"></div>'++ '<div id="popupImageButtons2"><a id="openImageFile2" href="javascript:;">Файл</a></div>'
? '</div>'++ );
? '</td>'++
? '</tr>'++
? '</table>'++
? '</div>'++
? '<div id="popupImageButtons2"><a id="openImageFile2" href="javascript:;">Файл</a></div>'+
? );+
 } }
  
?var gallersArray = [], currentGalleryIndex = 0, currentImageIndex = 0;+var gallersArray = [], // Массив галерей в которых массив объектов (src, text, href)
 + currentGalleryIndex = 0, currentImageIndex = 0;
  
 /* Открывает картинку */ /* Открывает картинку */
 function setImage(indexGallery, indexImage) { function setImage(indexGallery, indexImage) {
? currentGalleryIndex = indexGallery;+ currentGalleryIndex = indexGallery;
? currentImageIndex = indexImage;+ currentImageIndex = indexImage;
? $('#popupImage2').width('1px');+ $('#popupImage2').width('1px');
? $('#popupImage2').height('1px');+ $('#popupImage2').height('1px');
? $('#popupImage-overlay').css('background-image', 'url('+imageLoaderUrl+')');+ $('#popupImageOverlay').css('background-image', 'url('+imageLoaderUrl+')');
? $('#popupImage2').attr('src', gallersArray[indexGallery][indexImage].src);+ $('#popupImage2').attr('src', gallersArray[indexGallery][indexImage].src);
? $('#popupImageButtons2 a#openImageFile2').attr('href', gallersArray[indexGallery][indexImage].href);+ $('#popupImageButtons2 a#openImageFile2').attr('href', gallersArray[indexGallery][indexImage].href);
? $('#popupImageInfo2').html(gallersArray[indexGallery][indexImage].text);+ $('#popupImageInfo2').html(gallersArray[indexGallery][indexImage].text);
? if (gallersArray[indexGallery].length < indexImage + 2) { // Если нет следующей картинки убираем кнопку+ if (gallersArray[indexGallery].length < indexImage + 2) { // Если нет следующей картинки убираем кнопку
? $('#popupImage-right').hide();+ $('#popupImage-right').hide();
? } else {+ } else {
? $('#popupImage-right').show();+ $('#popupImage-right').show();
? }+ }
? if (indexImage - 1 < 0) { // Если нет предыдущей картинки убираем кнопку+ if (indexImage - 1 < 0) { // Если нет предыдущей картинки убираем кнопку
? $('#popupImage-left').hide();+ $('#popupImage-left').hide();
? } else {+ } else {
? $('#popupImage-left').show();+ $('#popupImage-left').show();
? }+ }
? $('#popupImageWrapper2').hide();+ $('#popupImageWrapper2').hide();
? $('#popupImageWindow2').show();+ $('#popupImageWindow2').show();
? $('#popupImageButtons2').show();+ $('#popupImageButtons2').show();
 } }
  
 /* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */ /* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */
 function addImagePopups2() { function addImagePopups2() {
? addImagePopupWindow2();+ addImagePopupWindow2();
? $('a.image').unbind('click'); ////////////Временное решение. Отключаем старый код+ $('a.image').unbind('click'); ////////////Временное решение. Отключаем старый код
  
? // Для галерей+ // Для галерей
? $.each($('ul.gallery'), function(indexGallery, valueGallery) {+ $.each($('ul.gallery'), function(indexGallery, valueGallery) {
? gallersArray[indexGallery] = [];+ gallersArray[indexGallery] = [];
? $.each($(valueGallery).find('li.gallerybox'), function(indexImage, valueImage) {+ $.each($(valueGallery).find('li.gallerybox'), function(indexImage, valueImage) {
? var Image = new Object();+ var Image = new Object();
? var srcStr = $(valueImage).find('a.image img').attr('src');+ var srcStr = $(valueImage).find('a.image img').attr('src');
? if (typeof srcStr !== 'undefined') {+ if (typeof srcStr !== 'undefined') {
? if (srcStr.indexOf('thumb/')+1 > 0) {+ if (srcStr.indexOf('thumb/')+1 > 0) {
? srcStr = srcStr.replace(/thumb\//gi, '');+ srcStr = srcStr.replace(/thumb\//gi, '');
? srcStr = srcStr.substring(0, srcStr.lastIndexOf("/"));+ srcStr = srcStr.substring(0, srcStr.lastIndexOf("/"));
? }+ }
? }+ }
? Image.src = srcStr;+ Image.src = srcStr;
? Image.text = $(valueImage).find('div.gallerytext').text().trim();+ Image.text = $(valueImage).find('div.gallerytext').text().trim();
? Image.href = $(valueImage).find('a.image').attr('href');+ Image.href = $(valueImage).find('a.image').attr('href');
? if (typeof Image.src !== 'undefined') {+ if (typeof Image.src !== 'undefined') {
? gallersArray[indexGallery][indexImage] = Image;+ gallersArray[indexGallery][indexImage] = Image;
? $(valueImage).find('a.image').click(function(index) {+ $(valueImage).find('a.image').click(function(index) {
? setImage(indexGallery, indexImage);+ setImage(indexGallery, indexImage);
? return false;+ return false;
? });+ });
? }+ }
? });+ });
? });+ });
  
? // Для одиночных эскизров+ // Для одиночных эскизров
? $.each($('a.image').not($('.js-vehicles_by_types a.image')).not($('ul.gallery a.image')), function(index, value) {+ $.each($('a.image').not($('.js-vehicles_by_types a.image')).not($('ul.gallery a.image')), function(index, value) {
? var indexGallery = gallersArray.length;+ var indexGallery = gallersArray.length;
? gallersArray[indexGallery] = [];+ gallersArray[indexGallery] = [];
? var Image = new Object();+ var Image = new Object();
? var srcStr = $(value).find('img').attr('src');+ var srcStr = $(value).find('img').attr('src');
? if (typeof srcStr !== 'undefined') {+ if (typeof srcStr !== 'undefined') {
? if (srcStr.indexOf('thumb/')+1 > 0) {+ if (srcStr.indexOf('thumb/')+1 > 0) {
? srcStr = srcStr.replace(/thumb\//gi, '');+ srcStr = srcStr.replace(/thumb\//gi, '');
? srcStr = srcStr.substring(0, srcStr.lastIndexOf("/"));+ srcStr = srcStr.substring(0, srcStr.lastIndexOf("/"));
? }+ }
? }+ }
? Image.src = srcStr;+ Image.src = srcStr;
? var titleStr = ''; //Подпись+ var titleStr = ''; //Подпись
? if ($(this).next('div.thumbcaption').length > 0) {+ if ($(this).next('div.thumbcaption').length > 0) {
? titleStr = $(this).next('div.thumbcaption').text().trim();+ titleStr = $(this).next('div.thumbcaption').text().trim();
? } else if($(this).parent().parent().parent().children('div.gallerytext').length > 0) {+ } else if($(this).parent().parent().parent().children('div.gallerytext').length > 0) {
? titleStr = $(this).parent().parent().parent().children('div.gallerytext').text().trim();+ titleStr = $(this).parent().parent().parent().children('div.gallerytext').text().trim();
? }+ }
? Image.text = titleStr;+ Image.text = titleStr;
? Image.href = $(value).attr('href');+ Image.href = $(value).attr('href');
? if (typeof Image.src !== 'undefined') {+ if (typeof Image.src !== 'undefined') {
? gallersArray[indexGallery][0] = Image;+ gallersArray[indexGallery][0] = Image;
? $(value).click(function(index) {+ $(value).click(function(index) {
? setImage(indexGallery, 0);+ setImage(indexGallery, 0);
? return false;+ return false;
? });+ });
? }+ }
? });+ });
  
? // После загрузки картинки показываем её+ // После загрузки картинки показываем её
? $('#popupImage2').load(function() {+ $('#popupImage2').load(function() {
? $('#popupImage2').width('');+ $('#popupImage2').width('');
? $('#popupImage2').height('');+ $('#popupImage2').height('');
? $(this).css('max-width', (self.innerWidth-100)+'px');+ $(this).css('max-width', (self.innerWidth-100)+'px');
? $(this).css('max-height',(self.innerHeight-100)+'px');+ $(this).css('max-height',(self.innerHeight-100)+'px');
? $('#popupImage-overlay').css('background-image', '');+ $('#popupImageOverlay').css('background-image', '');
? $('#popupImageWrapper2').show();+ $('#popupImageWrapper2').show();
? });+ });
  
? //Закрыть попап кнопкой+ //Закрыть попап кнопкой
? $('.closeBtn').click(function(index) {+ $('.closeBtn').click(function(index) {
? $('#popupImageWindow2').hide();+ $('#popupImageWindow2').hide();
? $('#popupImageButtons2').hide();+ $('#popupImageButtons2').hide();
? $('#popupImageButtons2 a').attr('href', '#');+ $('#popupImageButtons2 a').attr('href', '#');
? $('#popupImageInfo2').text('');+ $('#popupImageInfo2').text('');
? $('#popupImage2').attr('src', '');+ $('#popupImage2').attr('src', '');
? });+ });
  
? //Закрыть попап фоном+ //Закрыть попап фоном
? $('#popupImage-overlay').click(function(index) {+ $('#popupImageOverlay').click(function(index) {
? $('#popupImageWindow2').hide();+ $('#popupImageWindow2').hide();
? $('#popupImageButtons2').hide();+ $('#popupImageButtons2').hide();
? $('#popupImageButtons2 a').attr('href', '#');+ $('#popupImageButtons2 a').attr('href', '#');
? $('#popupImageInfo2').text('');+ $('#popupImageInfo2').text('');
? $('#popupImage2').attr('src', '');+ $('#popupImage2').attr('src', '');
? });+ });
  
? // Предыдущую картинку+ // Предыдущую картинку
? $('a#popupImage-left').click(function(index) {+ $('a#popupImage-left').click(function(index) {
? setImage(currentGalleryIndex, currentImageIndex - 1);+ setImage(currentGalleryIndex, currentImageIndex - 1);
? });+ });
  
? // Следующую картинку+ // Следующую картинку
? $('a#popupImage-right').click(function(index) {+ $('a#popupImage-right').click(function(index) {
? setImage(currentGalleryIndex, currentImageIndex + 1);+ setImage(currentGalleryIndex, currentImageIndex + 1);
? });+ });
 }; };
  
 $(document).ready(function(){ $(document).ready(function(){
? setTimeout(addImagePopups2, 0);+ setTimeout(addImagePopups2, 0);
 }); });

Версия 16:54, 24 июня 2015

/* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */
function addImagePopupWindow2() {
    $('body').append(
        '<div id="popupImageWindow2"><table><tr><td style="vertical-align: middle;">'+
            '<div id="popupImageOverlay"></div>'+
            '<div id="popupImageWrapper2">'+
                '<img id="popupImage2" src="" />'+
                '<img src="//wikicdn.wargaming.net/images/b/bd/Close.png" class="closeBtn">'+
                '<a id="popupImage-left" href="javascript:;">'+
                    '<span id="popupImage-ico-left" class="popupImage-ico"></span>'+
                '</a>'+
                '<a id="popupImage-right" href="javascript:;">'+
                    '<span id="popupImage-ico-right" class="popupImage-ico"></span>'+
                '</a>'+
                '<div id="popupImageInfo2"></div>'+
            '</div>'+
        '</td></tr></table></div>'+
        '<div id="popupImageButtons2"><a id="openImageFile2" href="javascript:;">Файл</a></div>'
    );
}

var gallersArray = [], // Массив галерей в которых массив объектов (src, text, href)
    currentGalleryIndex = 0, currentImageIndex = 0;

/* Открывает картинку */
function setImage(indexGallery, indexImage) {
    currentGalleryIndex = indexGallery;
    currentImageIndex = indexImage;
    $('#popupImage2').width('1px');
    $('#popupImage2').height('1px');
    $('#popupImageOverlay').css('background-image', 'url('+imageLoaderUrl+')');
    $('#popupImage2').attr('src', gallersArray[indexGallery][indexImage].src);
    $('#popupImageButtons2 a#openImageFile2').attr('href', gallersArray[indexGallery][indexImage].href);
    $('#popupImageInfo2').html(gallersArray[indexGallery][indexImage].text);
    if (gallersArray[indexGallery].length < indexImage + 2) { // Если нет следующей картинки убираем кнопку
        $('#popupImage-right').hide();
    } else {
        $('#popupImage-right').show();
    }
    if (indexImage - 1 < 0) { // Если нет предыдущей картинки убираем кнопку
        $('#popupImage-left').hide();
    } else {
        $('#popupImage-left').show();
    }
    $('#popupImageWrapper2').hide();
    $('#popupImageWindow2').show();
    $('#popupImageButtons2').show();
}

/* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */
function addImagePopups2() {
    addImagePopupWindow2();
    $('a.image').unbind('click'); ////////////Временное решение. Отключаем старый код

    // Для галерей
    $.each($('ul.gallery'), function(indexGallery, valueGallery) {
        gallersArray[indexGallery] = [];
        $.each($(valueGallery).find('li.gallerybox'), function(indexImage, valueImage) {
            var Image = new Object();
            var srcStr = $(valueImage).find('a.image img').attr('src');
            if (typeof srcStr !== 'undefined') {
                if (srcStr.indexOf('thumb/')+1 > 0) {
                    srcStr = srcStr.replace(/thumb\//gi, '');
                    srcStr = srcStr.substring(0, srcStr.lastIndexOf("/"));
                }
            }
            Image.src = srcStr;
            Image.text = $(valueImage).find('div.gallerytext').text().trim();
            Image.href = $(valueImage).find('a.image').attr('href');
            if (typeof Image.src !== 'undefined') {
                gallersArray[indexGallery][indexImage] = Image;
                $(valueImage).find('a.image').click(function(index) {
                    setImage(indexGallery, indexImage);
                    return false;
                });
            }
        });
    });

    // Для одиночных эскизров
    $.each($('a.image').not($('.js-vehicles_by_types a.image')).not($('ul.gallery a.image')), function(index, value) {
        var indexGallery = gallersArray.length;
        gallersArray[indexGallery] = [];
        var Image = new Object();
        var srcStr = $(value).find('img').attr('src');
        if (typeof srcStr !== 'undefined') {
            if (srcStr.indexOf('thumb/')+1 > 0) {
                srcStr = srcStr.replace(/thumb\//gi, '');
                srcStr = srcStr.substring(0, srcStr.lastIndexOf("/"));
            }
        }
        Image.src = srcStr;
        var titleStr = ''; //Подпись
        if ($(this).next('div.thumbcaption').length > 0) {
            titleStr = $(this).next('div.thumbcaption').text().trim();
        } else if($(this).parent().parent().parent().children('div.gallerytext').length > 0) {
            titleStr = $(this).parent().parent().parent().children('div.gallerytext').text().trim();
        }
        Image.text = titleStr;
        Image.href = $(value).attr('href');
        if (typeof Image.src !== 'undefined') {
            gallersArray[indexGallery][0] = Image;
            $(value).click(function(index) {
                setImage(indexGallery, 0);
                return false;
            });
        }
    });

    // После загрузки картинки показываем её
    $('#popupImage2').load(function() {
        $('#popupImage2').width('');
        $('#popupImage2').height('');
        $(this).css('max-width', (self.innerWidth-100)+'px');
        $(this).css('max-height',(self.innerHeight-100)+'px');
        $('#popupImageOverlay').css('background-image', '');
        $('#popupImageWrapper2').show();
    });

    //Закрыть попап кнопкой
    $('.closeBtn').click(function(index) {
        $('#popupImageWindow2').hide();
        $('#popupImageButtons2').hide();
        $('#popupImageButtons2 a').attr('href', '#');
        $('#popupImageInfo2').text('');
        $('#popupImage2').attr('src', '');
    });

    //Закрыть попап фоном
    $('#popupImageOverlay').click(function(index) {
        $('#popupImageWindow2').hide();
        $('#popupImageButtons2').hide();
        $('#popupImageButtons2 a').attr('href', '#');
        $('#popupImageInfo2').text('');
        $('#popupImage2').attr('src', '');
    });

    // Предыдущую картинку
    $('a#popupImage-left').click(function(index) {
        setImage(currentGalleryIndex, currentImageIndex - 1);
    });

    // Следующую картинку
    $('a#popupImage-right').click(function(index) {
        setImage(currentGalleryIndex, currentImageIndex + 1);
    });
};

$(document).ready(function(){
    setTimeout(addImagePopups2, 0);
});