Если вы хотите добавить стиль к вашему счетчику, вы должны получить первый элемент, возвращаемый функцией getElementsByClassName
.
getElementsByClassName
, возвращает список с элементами этого определенного класса.
getElementById
возвращает один элемент с заданным идентификатором.
Я рекомендую в вашем случае дать идентификатор загрузчику и выполнить getElementById
. Но если вы хотите использовать getElementsByClassName
, вы можете сделать следующее:
document.getElementsByClassName("loader")[0].style.display = "block";
Вот рабочий алгоритм:
* {
margin: 0;
padding: 0;
}
.loader {
display: none;
top: 50%;
left: 50%;
position: absolute;
transform: translate(-50%, -50%);
}
.loading {
border: 2px solid #ccc;
width: 60px;
height: 60px;
border-radius: 50%;
border-top-color: #1ecd97;
border-left-color: #1ecd97;
animation: spin 1s infinite ease-in;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
<button type="submit" class="sbtn btn btn-secondary btn-c" onclick="spinner()">Log in</button>
<div class="loader">
<div class="loading">
</div>
</div>
<script type="text/javascript">
function spinner() {
document.getElementsByClassName("loader")[0].style.display = "block";
}
</script>