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

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

Перейти к: навигация, поиск
Версия 17:58, 24 июня 2015Версия 17:37, 25 июня 2015
Строка 1:Строка 1:
 /* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */ /* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */
?function addImagePopupWindow2() {+function addImagePopupWindow() {
  $('body').append(  $('body').append(
? '<div id="popupImageWindow2"><table><tr><td style="vertical-align: middle;">'++ '<div id="popupImageWindow"><table><tr><td style="vertical-align: middle;">'+
  '<div id="popupImageOverlay"></div>'+  '<div id="popupImageOverlay"></div>'+
? '<div id="popupImageWrapper2">'++ '<div id="popupImageWrapper">'+
? '<img id="popupImage2" src="" />'++ '<img id="popupImage" src="" />'+
  '<img src="//wikicdn.wargaming.net/images/b/bd/Close.png" class="closeBtn">'+  '<img src="//wikicdn.wargaming.net/images/b/bd/Close.png" class="closeBtn">'+
? '<a id="popupImage-left" href="javascript:;">'++ '<a id="popupImageLeft" href="javascript:;">'+
? '<span id="popupImage-ico-left" class="popupImage-ico"></span>'++ '<span id="popupImageIcoLeft" class="popupImageIco"></span>'+
  '</a>'+  '</a>'+
? '<a id="popupImage-right" href="javascript:;">'++ '<a id="popupImageRight" href="javascript:;">'+
? '<span id="popupImage-ico-right" class="popupImage-ico"></span>'++ '<span id="popupImageIcoRight" class="popupImageIco"></span>'+
  '</a>'+  '</a>'+
? '<div id="popupImageInfo2"></div>'++ '<div id="popupImageInfo"></div>'+
  '</div>'+  '</div>'+
  '</td></tr></table></div>'+  '</td></tr></table></div>'+
? '<div id="popupImageButtons2"><a id="openImageFile2" href="javascript:;">Файл</a></div>'+ '<div id="popupImageButtons"><a id="openImageFile" href="javascript:;">Файл</a></div>'
  );  );
 } }
Строка 27:Строка 27:
  currentGalleryIndex = indexGallery;  currentGalleryIndex = indexGallery;
  currentImageIndex = indexImage;  currentImageIndex = indexImage;
? $('#popupImage2').width('1px');+ $('#popupImage').width('1px');
? $('#popupImage2').height('1px');+ $('#popupImage').height('1px');
  $('#popupImageOverlay').css('background-image', 'url('+imageLoaderUrl+')');  $('#popupImageOverlay').css('background-image', 'url('+imageLoaderUrl+')');
? $('#popupImage2').attr('src', gallersArray[indexGallery][indexImage].src);+ $('#popupImage').attr('src', gallersArray[indexGallery][indexImage].src);
? $('#popupImageButtons2 a#openImageFile2').attr('href', gallersArray[indexGallery][indexImage].href);+ $('#popupImageButtons a#openImageFile').attr('href', gallersArray[indexGallery][indexImage].href);
? $('#popupImageInfo2').html(gallersArray[indexGallery][indexImage].text);+ $('#popupImageInfo').html(gallersArray[indexGallery][indexImage].text);
  if (gallersArray[indexGallery].length < indexImage + 2) { // Если нет следующей картинки убираем кнопку  if (gallersArray[indexGallery].length < indexImage + 2) { // Если нет следующей картинки убираем кнопку
? $('#popupImage-right').hide();+ $('#popupImageRight').hide();
  } else {  } else {
? $('#popupImage-right').show();+ $('#popupImageRight').show();
  }  }
  if (indexImage - 1 < 0) { // Если нет предыдущей картинки убираем кнопку  if (indexImage - 1 < 0) { // Если нет предыдущей картинки убираем кнопку
? $('#popupImage-left').hide();+ $('#popupImageLeft').hide();
  } else {  } else {
? $('#popupImage-left').show();+ $('#popupImageLeft').show();
  }  }
? $('#popupImageWrapper2').hide();+ $('#popupImageWrapper').hide();
? $('#popupImageWindow2').show();+ $('#popupImageWindow').show();
? $('#popupImageButtons2').show();+ $('#popupImageButtons').show();
 } }
  
 /* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */ /* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */
?function addImagePopups2() {+function addImagePopups() {
? addImagePopupWindow2();+ addImagePopupWindow();
? $('a.image').unbind('click'); ////////////Временное решение. Отключаем старый код+
  
  // Для галерей  // Для галерей
Строка 109:Строка 108:
  
  // После загрузки картинки показываем её  // После загрузки картинки показываем её
? $('#popupImage2').load(function() {+ $('#popupImage').load(function() {
? $('#popupImage2').width('');+ $('#popupImage').width('');
? $('#popupImage2').height('');+ $('#popupImage').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');
  $('#popupImageOverlay').css('background-image', '');  $('#popupImageOverlay').css('background-image', '');
? $('#popupImageWrapper2').show();+ $('#popupImageWrapper').show();
  });  });
  
  //Закрыть попап кнопкой  //Закрыть попап кнопкой
  $('.closeBtn').click(function(index) {  $('.closeBtn').click(function(index) {
? $('#popupImageWindow2').hide();+ $('#popupImageWindow').hide();
? $('#popupImageButtons2').hide();+ $('#popupImageButtons').hide();
? $('#popupImageButtons2 a').attr('href', '#');+ $('#popupImageButtons a').attr('href', '#');
? $('#popupImageInfo2').text('');+ $('#popupImageInfo').text('');
? $('#popupImage2').attr('src', '');+ $('#popupImage').attr('src', '');
  });  });
  
  //Закрыть попап фоном  //Закрыть попап фоном
  $('#popupImageOverlay').click(function(index) {  $('#popupImageOverlay').click(function(index) {
? $('#popupImageWindow2').hide();+ $('#popupImageWindow').hide();
? $('#popupImageButtons2').hide();+ $('#popupImageButtons').hide();
? $('#popupImageButtons2 a').attr('href', '#');+ $('#popupImageButtons a').attr('href', '#');
? $('#popupImageInfo2').text('');+ $('#popupImageInfo').text('');
? $('#popupImage2').attr('src', '');+ $('#popupImage').attr('src', '');
  });  });
  
  // Предыдущую картинку  // Предыдущую картинку
? $('a#popupImage-left').click(function(index) {+ $('a#popupImageLeft').click(function(index) {
  setImage(currentGalleryIndex, currentImageIndex - 1);  setImage(currentGalleryIndex, currentImageIndex - 1);
  });  });
  
  // Следующую картинку  // Следующую картинку
? $('a#popupImage-right').click(function(index) {+ $('a#popupImageRight').click(function(index) {
  setImage(currentGalleryIndex, currentImageIndex + 1);  setImage(currentGalleryIndex, currentImageIndex + 1);
  });  });
 }; };
? 
?$(document).ready(function(){ 
? setTimeout(addImagePopups2, 0); 
?}); 

Версия 17:37, 25 июня 2015

/* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */
function addImagePopupWindow() {
    $('body').append(
        '<div id="popupImageWindow"><table><tr><td style="vertical-align: middle;">'+
            '<div id="popupImageOverlay"></div>'+
            '<div id="popupImageWrapper">'+
                '<img id="popupImage" src="" />'+
                '<img src="//wikicdn.wargaming.net/images/b/bd/Close.png" class="closeBtn">'+
                '<a id="popupImageLeft" href="javascript:;">'+
                    '<span id="popupImageIcoLeft" class="popupImageIco"></span>'+
                '</a>'+
                '<a id="popupImageRight" href="javascript:;">'+
                    '<span id="popupImageIcoRight" class="popupImageIco"></span>'+
                '</a>'+
                '<div id="popupImageInfo"></div>'+
            '</div>'+
        '</td></tr></table></div>'+
        '<div id="popupImageButtons"><a id="openImageFile" href="javascript:;">Файл</a></div>'
    );
}

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

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

/* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */
function addImagePopups() {
    addImagePopupWindow();

    // Для галерей
    $.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;
            });
        }
    });

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

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

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

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

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