Кажется, вам не хватает некоторых CSS правил.
Давайте посмотрим на эту строку:
popup.classList.toggle("show");
Функция toggle
добавит здесь класс show
class, если элемент popup
не имеет его, в противном случае удалите его.
Это означает, что элемент с классом popuptext
должен не отображаться по умолчанию, и если класс show
не добавлено.
Таким образом, вы должны определить 2 CSS стилей, например:
.popuptext.show {
display: inline-block; // show element when you have the class name 'show'
}
.popuptext {
display: none; // hide by default
}
Вот рабочий пример: https://jsfiddle.net/3bmqdcsg/