Установка display
на none
немедленно скрывает элемент, что означает, что нет возможности для анимации / перехода видимости во времени.
Возможно, вы могли бы вместо этого использовать opacity
для достижения этой цели?
Добавьте следующий CSS:
#clock1 {
transition:opacity 1s;
}
Обновите свой JS:
function myFunction() {
var x = document.getElementById("clock1");
// Update opacity rather than display
if (x.style.opacity === "0") {
x.style.opacity = 1;
} else {
x.style.opacity = 0;
}
}
Работает jsFiddle здесь