Я хочу сделать, это изменить левое поле элемента DOM на основе переменной в JavaScript. Эта функция работает :
function updateTabs(i) {
console.log('Switching to tab ' + i)
switch(i) {
case 0:
document.querySelector('#About-content1').style.marginLeft = "0";
break;
case 1:
document.querySelector('#About-content1').style.marginLeft = "-100%";
break;
case 2:
document.querySelector('#About-content1').style.marginLeft = "-199%";
break;
default:
break;
}
}
Это успешно устанавливает свойство margin-left, как я хочу. Однако я не хочу вызывать document.querySelector
каждый раз, когда вызываю функцию updateTabs
. Я попробовал это:
var contentDiv1 = document.querySelector('#About-content1');
function updateTabs(i) {
console.log('Switching to tab ' + i)
switch(i) {
case 0:
contentDiv1.style.marginLeft = "0";
break;
case 1:
contentDiv1.style.marginLeft = "-100%";
break;
case 2:
contentDiv1.style.marginLeft = "-199%";
break;
default:
break;
}
}
Однако, это работает только при первом вызове функции. После этого он печатает «Переключение на вкладку», но фактически не меняет стиль. Есть ли способ, которым я мог бы изменить стиль, не звоня document.querySelector
каждый раз?