Код
Нужно по клике на кнопку Width увеличивать ширину блока, по клике на кнопку Heigth увеличивать высоту блока
У меня не получается с data-action
var purposeBlock = document.getElementById('one');
function addSize() {
if (purposeBlock.getAttribute('data-action') === 'width')
purposeBlock.style.width = changeSize('width');
if (purposeBlock.getAttribute('data-action') === 'height')
purposeBlock.style.height = changeSize('height');
}
function changeSize(param) {
var styleProp = purposeBlock.style[param];
if (styleProp === '') return '70px';
else return parseInt(styleProp) + 20 + 'px';
}
Проверил - addSize()
вызывается. Следовательно дело в условиях внутри нее. purposeBlock.getAttribute('data-action')
вычисляется в null
. Отсюда все неожидаемое поведение. По логике значение аттрибута нужно брать из кнопки по которой клик, а не из узла, ширину которого меняешь.
И для ремарки - такой подход к структурированию кода плох для продакшена. Кинь конечный работающий результат в новом топике и там я покажу как и почему нужно структурировать код иначе.
Не знаю как это сделать. Как выцепить элемент, по которому кликнули?