Мне нужно создать галерею, которая зависит от нескольких факторов и выполняет серию изображений, масштабированных по размеру.В любом случае, мне нужно, чтобы при нажатии на кнопку «триггер» главный контейнер занимал почти всю видимую область видового экрана, а изображения содержали респектабельный масштаб, если соотношение.
Я следую этой ссылке
Поведение, которое я не могу сделать, это увеличить изображение.При нажатии на один из них большие пальцы исчезают, а основное изображение масштабируется.Этот мой код выглядит следующим образом:
Функция, которую я использую для увеличения изображений, которые я делаю на основе небольшой статьи, которую я прочитал о методе jQuery .animate ().
function resize(){
gallery = $('#items');
galleryH = gallery.height();
$('#items img').each(function() {
var height = $(this).height();
$(this).stop(true).animate({'height':galleryH},1000);
});
}
resize();
Согласноэтот метод «оживляет» только высоту, ширина автоматически тем самым поддерживает соотношение.Кажется, это работает правильно.Как вы видите выше, масштабируется в зависимости от высоты его контейнера.
Хорошо, это хорошо работает, когда страница загружается и при масштабировании размера окна.Тогда мне нужно, чтобы при нажатии на контейнер или другую кнопку / firer окно заполняло окно, аналогично тому, что происходит в прилагаемом примере, и изображения масштабируются в соответствии с этим размером.Как в примере.Для этого используйте следующий код:
function changeView(){
if(gallery.hasClass("largeExp")){
gallery.removeClass("largeExp");
gallery.stop(true).animate({'height':'200px'},500);
console.log("Normal Mode");
}
else{
gallery.addClass("largeExp");
gallery.stop(true).animate({'height':'650px'},500);
console.log("Expand Mode");
}
console.log("Now would launch resize()");
resize();
}
$('#items').click(function() {
changeView();
});
Что же происходит, так это то, что галерея (контейнер) фактически "оживляет" такие меры, но в них нет изображений.Метод resize () запускается только со второго клика.В первый клик отлично и масштабируется как мне нужно, во второй клик изображения масштабируются до большого размера, в то время как галерея (контейнер) переходит в маленький или нормальный режим.Отсюда контейнер и изображения масштабируются в обратном порядке.Когда контейнер находится в обычном режиме, изображения расширяются и так далее.Работая так, галерея (контейнер) и изображения никогда не подходят.Мне нужно, чтобы при расширении контейнера изображения тоже расширялись.
У меня нет особого опыта в JS, и я уверен, что делаю что-то не так.Надеюсь, вы мне поможете. Я потерял много часов на этом!
Заранее большое спасибо!