Похоже, у вас есть несколько проблем в вашем JavaScript. Просмотр http://jsbin.com/ahide рабочей версии и исходного кода.
Во-первых,
//Slideshow Image to hide rest
var image = $('.projectPopup > img');
image.hide().filter(':first').show();
Этот код скрывает все изображения во всплывающих окнах, а затем показывает только первое изображение в коллекции, которое находится внутри A.Effect projectPopup. Так как вам нужно показать первое изображение в каждом всплывающем окне, просматривайте их по отдельности, например:
//Slideshow Image to hide rest
$(".projectPopup").each(function(){
$("img", this).hide().filter(":first").show();
});
Проблема с изменением размера всплывающего окна связана с получением размера первого img с использованием width () и height (). Эти методы вернут 0, если img каким-то образом скрыт. Чтобы это исправить, во время циклического просмотра проектов ProjectPopups временно покажите их за пределами экрана, чтобы вы могли получить ширину и высоту первого изображения. Это должно исправить это:
//Slideshow Image to hide rest
$(".projectPopup").each(function(){
$("img", this).hide().filter(":first").show();
//Determine popup width and height
var container = $(this);
if (container.is(":hidden")) {
container.css({ position: "absolute", visibility: "hidden", display: "block" });
}
var popupWidth = container.find("img:first").width()+10;
var popupHeight = container.find("img:first").height()+60;
//Determine window width and height
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
container.css("width" , popupWidth);
container.css("height" , popupHeight);
//Set popup CSS
container.css({"position": "fixed", "background": "#000", "top": "10%", "left": "20%", visibility: "", display: "none"});
});
Теперь, чтобы расположить их по центру экрана, вы можете установить для свойства left значение (windowWidth / 2) - (popupWidth / 2) + "px"
Весь $ (document) .ready () должен быть следующим:
$(document).ready(function() {
//Hiding all Divs
$(".projectPopup").hide();
//Setting DIV name to nothing
var actualOpenID = "";
//Slideshow Image to hide rest
$(".projectPopup").each(function(){
$("img", this).hide().filter(":first").show();
//Determine popup width and height
var container = $(this);
if (container.is(":hidden")) {
container.css({ position: "absolute", visibility: "hidden", display: "block" });
}
var popupWidth = container.find("img:first").width()+10;
var popupHeight = container.find("img:first").height()+60;
//Determine window width and height
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
container.css("width" , popupWidth);
container.css("height" , popupHeight);
//Set popup CSS
container.css({"position": "fixed", "background": "#000", "top": "10%", "left": (windowWidth / 2) - (popupWidth / 2) + "px", visibility: "", display: "none"});
});
//Find & Open
$(".projectThumb").click(function(){
if (actualOpenID !== "") {
$("div[id="+actualOpenID+"]").hide();
}
var newID = $(this).children("img").attr("name");
$("div[id="+newID+"]").show();
actualOpenID = newID;
});
$('ul.slideImages li a').click(function () {
if (this.className.indexOf('active') == -1){
var images = $(this).closest(".projectPopup").find("img");
images.hide();
images.filter(this.hash).show();
$('ul.slideImages li a').removeClass('active');
$(this).addClass('active');
}
return false;
});
//Close property
$("a.close").click(function (e) {
e.preventDefault();
$(this).parent().hide();
actualOpenID = "";
});
});