Имеется такой кусок, пытаюсь вызвать метод класса внутри конструктора, т.е. aplyStyles
, но в консоли выбивает такую ошибку:
ReferenceError: aplyStyles is not defined
Как поступают в таких ситуациях?
'use strict';
;(function() {
class CubePage {
constructor() {
this.cube = document.querySelector('.cube');
this.slides = document.querySelectorAll('.cube_vertical');
this.flipping = false;
this.cubeDeg = 0;
this.pageHeigt = () => {
let height = 0;
for(let i = 0; i < this.slides.length; i++) {
let computedStyles = getComputedStyle(this.slides[i]);
height = height + parseInt(computedStyles.height);
}
return height;
}
aplyStyles(slides[0], {
transform: "translateZ(200px)"
})
aplyStyles(slides[1], {
transform: "rotateX(-90deg) translateZ(200px)"
})
}
aplyStyles(elem, styles) {
for(var key in styles) {
elem.style[key] = styles[key];
}
}
showHeight() {
console.log(this.pageHeigt());
console.log(this.slides);
}
}
var some = new CubePage;
some.showHeight();
})()
Методы класса доступны в конструкторе через ключевое слово this
. В вашем случае aplyStyles
можно вызвать следующим образом:
this.aplyStyles(this.slides[0], {
transform: "translateZ(200px)"
})
this.aplyStyles(this.slides[1], {
transform: "rotateX(-90deg) translateZ(200px)"
})
По сути, мы ссылаемся на текущую сущность, которая может получить эти методы из прототипа. Подробнее об этом можно почитать тут.
P.S. У вас пропущена буква p
в имени метода (правильно не aplyStyles
, а applyStyles
).
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите пожалуйста есть ли какая-нибудь HTML/JS библиотека-слайдер для файлов в форматеpdf с кнопками переключения next/prev? В идеале хотелось...
Есть репозиторий (не мой) https://githubcom/dwcares/realchess В котором написан скрипт онлайн шахмат
Есть необходимость при изменении значения переменной, менять текст в заголовке