Окончательно решено, работает и изменяет размеры по вертикали, как я и хотел. Просто нужно переместить цикл над функцией slideRight
, установить новую переменную пустого массива imageArray
, push
все от цикла до этого массива, а затем установить стиль в функции для чтения из этого массива и изменения ширины на основедля уже существующей переменной position = 0
, используемой для работы ползунка.
Также внесены корректировки в стили, удалены max-height
из .slider-images
и для .slider-images img
установлено max-height: unset;
, если у вас естьimg
по умолчанию max-height: 100%;
.
var position = 0;
var index = 0;
var imageArray = [];
//...
for (index; index < image.length; index++) {
const allImagesWidth = image[index].naturalWidth,
allImagesHeight = image[index].naturalHeight;
const aspectRatio = allImagesWidth / allImagesHeight;
var adjustedHeight = slideWidth / aspectRatio;
imageArray.push(adjustedHeight++);
}
images.style.height = imageArray[position] + 'px';
function slideRight() {
position--;
images.style.height = imageArray[position] + 'px';
if (position == -1) {
position = imageCount - 1;
}
images.style.transform = 'translateX(' + -(slideWidth * position) + 'px)';
}
// ...
document.querySelector('.slide-right').addEventListener('click', slideRight, false);