Как отправить сигнал в JS при нажатии кнопки?
Вот есть у меня такая штука.
<!DOCTYPE html>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
</head>
<body>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Текст!</strong> Еще текст... <strong>еще</strong> и еще.
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
</body>
В общем, я хочу, чтобы при нажатии на
<button type="button" class="close" data-dismiss="alert" aria-label="Close"> подавался какой-то сигнал в JavaScript файл font.js. А точнее, я хочу, чтобы при нажатии переменная clicked из стандартного значения 0 переходила в значения 1.Вот, кстати, мой JS файл.
const fonter = document.querySelector("section.p");
var clicked = 0;
if (var clicked == 1) {
fonter.style.font-size = "12px";
} else {
fonter.style.font-size = "14px";
}
});
Он, по идее, должен менять размер шрифта если clicked == 1.
Подскажите, пожалуйста, как передать сигнал в JavaScript и есть ли у меня ошибки в коде. Спасибо заранее)
Ответы (1 шт):
Автор решения: OPTIMUS PRIME
→ Ссылка
Этот "сигнал" называется событие. Нужно запускать код при клике.
let fonter = document.querySelector("section.p");
let btn = document.querySelector(".close");
let clicked = false;
btn.addEventListener("click", function() {
if( clicked ) {
fonter.style.fontSize = "12px";
} else {
fonter.style.fontSize = "14px";
}
// См. → "Тернарный оператор", попробуйте переписать через него.
clicked = !clicked;
// ! — логическое `НЕ`, false превращает в true, и наоборот.
});
<section class="p">
Test-test-test
</section>
<button type="button" class="close"> Click </button>
А вообще, такие вещи можно делать через переключение класса:
let fonter = document.querySelector("section.p");
let btn = document.querySelector(".close");
btn.addEventListener("click", function() {
fonter.classList.toggle("font-14");
});
section.p {
font-size: 12px;
color: red;
}
section.p.font-14 {
font-size: 14px;
color: green;
}
<section class="p">
Test-test-test
</section>
<button type="button" class="close"> Click </button>