Есть ли способ заставить свойство перехода работать для выбранного элемента JavaScript? - PullRequest
0 голосов
/ 09 ноября 2019

Есть ли способ сделать плавный переход между двумя состояниями элемента, если используется javascript для селектора? Например, у меня есть элемент с классом click__box и идентификатором clickBox. Я могу установить прозрачность от 0 до 1 при нажатии кнопки с помощью JS. Проблема в том, что свойство перехода вообще не влияет. Я знаю, что это может быть использовано как взломать флажок с чистого CSS, но я хотел бы знать, есть ли способ сделать это с помощью JavaScript.

//CSS
.click__box {
width:100%;
height:100%;
opacity:0;
transition:all .5s;
}
//JS
const collectionButton = document.querySelector("#collectionButton")
var clickBoxStyle = document.getElementById("clickBox").style

collectionButton.addEventListener('click', (e) => {
   clickBoxStyle.opacity = "1"
})

1 Ответ

0 голосов
/ 09 ноября 2019

Хорошо работает.

const collectionButton = document.querySelector("#collectionButton")
var clickBoxStyle = document.getElementById("clickBox").style

collectionButton.addEventListener('click', (e) => {
  clickBoxStyle.opacity = "1"
})
.click__box {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all .5s;
  background-color: GREEN;
}

#collectionButton {
  width: 150px;
  height: 50px;
  background-color: red;
  cursor: pointer;
}

.container {
  position: relative;
  width: 150px;
  height: 200px;
  background-color: blue;
  cursor: pointer;
}
<div id="collectionButton">
  collectionButton click me
</div>

<div class="container">
  Click Box Container
  <div id="clickBox" class="click__box">
    Click Box
  </div>
</div>

Демо для вас приятель https://codepen.io/init1/pen/mddKgyw

...