var currentSlide = 0;
var prevSlideItem = 0;
var sliderWidth = getComputedStyle(document.getElementsByClassName('slider')[0]).width;
var slides = document.getElementsByClassName('slide');
var computedSlides = getComputedStyle(slides[0]);
var slidesTransition = computedSlides.transition;
var arrayStyleSlides = slidesTransition.split(' ');
var animateDuration = parseFloat(arrayStyleSlides[1]) * 1000; // получить второе значение из transition (это продолжительность анимации)
var slidesNumber = slides.length;
var inners = document.querySelectorAll('.slider .navigation .inner');
nextSlide();
function nextSlide() {
var nextSlideButton = document.querySelector('.next-slide');
inners[currentSlide].className += ' ' + 'active-inner';
nextSlideButton.onclick = function () {
console.log('proc = ' + this.proc + ' на входе');
if (this.proc == 1)
console.log('Слайд не должен поменяться');
// Проверяем, происходит ли обработка события, чтобы не было наложения анимаций.
if (this.proc) return false;
currentSlide++;
if (currentSlide > slidesNumber - 1)
currentSlide = 0;
if (currentSlide !== 0) {
slides[currentSlide - 1].style.left = sliderWidth;
slides[currentSlide].style.opacity = '1';
setTimeout(function() {
slides[currentSlide - 1].style.opacity = '0';
},animateDuration + 50);
setTimeout(function() {
slides[currentSlide - 1].style.left = '0px';
nextSlideButton.proc = 0;
},animateDuration * 2);
prevSlideItem = currentSlide - 1;
} else {
slides[slidesNumber - 1].style.left = sliderWidth;
slides[currentSlide].style.opacity = '1';
setTimeout(function() {
slides[slidesNumber - 1].style.opacity = '0';
},animateDuration + 50);
setTimeout(function() {
slides[slidesNumber - 1].style.left = '0px';
currentSlide
nextSlideButton.proc = 0;
},animateDuration * 2);
prevSlideItem = slidesNumber - 1;
}
this.proc = 1
console.log(this.proc + ' событие запущено, proc = 1');
};
}
objName= {
__proto__: parentObjName,
metod: function() {...},
param: value
}
Object.defineProperty (objName, 'nameProp', {
value: "enumVal"
})