Разница в том, что вы не меняете display
на значение display: block;
, которое является стандартом, и поэтому оно переопределяется внешним явным определением, что его следует скрыть. Если вы добавите еще одну строку в Javascript, чтобы добавить thisDiv.style.display = block;
, и удалите ее в конце, чтобы скрыть ее, она должна работать очень хорошо.
Обновление:
Итак, причина, по которой он не отображается, когда у вас есть display: none;
в вашем CSS-файле, заключается в том, что, когда запускается анимация Javascript, вместо установки display: block;
в вашем div, который сделает его видимым, он просто полностью удаляет свойство display
элемента, поэтому на него все еще влияет внешний CSS.
Мое предложение : если вы не хотите, чтобы Javascript становился более сложным, просто оставьте стиль встроенным, чтобы впоследствии он мог быть удален Javascript автоматически. Если вы хотите использовать внешний стиль CSS для него, вы можете просто добавить короткую вспомогательную функцию в свой Javascript, чтобы изменить свойство CSS display
для блокировки при каждом его запуске, и установить его на display: none
после завершения анимации.