const type_input = document.getElementById("type_input").value.toLowerCase();
const type_names = ['фильм', 'сериал', 'мультсериал', 'мультфильм', 'аниме'];
const type_index = type_names.indexOf(type_input);
let type = 0;
if (type_index === -1) {
alert('Добавьте или исправьте тип');
} else {
type = type_index + 1; // значение для базы данных (если нужно 1-based)
}
<button id="play" data-source="https://www.youtube.com/embed/dQw4w9WgXcQ">Play</button>
<div id="modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<iframe id="youtube-video" width="560" height="315" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<style>
.modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
}
.modal.show {
display: flex;
justify-content: center;
align-items: center;
}
.modal-content {
position: relative;
background-color: #fefefe;
padding: 20px;
border-radius: 8px;
max-width: 800px;
width: 90%;
}
.close {
position: absolute;
top: 10px;
right: 20px;
font-size: 28px;
font-weight: bold;
color: #aaa;
cursor: pointer;
}
.close:hover {
color: #000;
}
iframe {
width: 100%;
aspect-ratio: 16/9;
}
</style>
<script>
const playButton = document.getElementById('play');
const modal = document.getElementById('modal');
const closeButton = document.querySelector('.close');
const iframe = document.getElementById('youtube-video');
playButton.addEventListener('click', () => {
const videoUrl = playButton.getAttribute('data-source');
iframe.src = videoUrl + '?autoplay=1';
modal.classList.add('show');
});
closeButton.addEventListener('click', () => {
modal.classList.remove('show');
iframe.src = '';
});
// Закрытие модального окна при клике вне его
window.addEventListener('click', (event) => {
if (event.target === modal) {
modal.classList.remove('show');
iframe.src = '';
}
});
</script>
<button class="btn-chapter" data-chapter="1">Глава 1</button>
<button class="btn-chapter" data-chapter="2">Глава 2</button>
<button class="btn-chapter" data-chapter="3">Глава 3</button>
<button class="btn-chapter" data-chapter="4">Глава 4</button>
<button class="btn-chapter" data-chapter="5">Глава 5</button>
<div class="chapter" id="chapter-1"><h2>Глава 1: Основы Фотошопа - Растровая графика</h2></div>
<div class="chapter" id="chapter-2"><h2>Глава 2: Основы Фотошопа - Растровая графика</h2></div>
<div class="chapter" id="chapter-3"><h2>Глава 3: Основы Фотошопа - Растровая графика</h2></div>
<div class="chapter" id="chapter-4"><h2>Глава 4: Основы Фотошопа - Растровая графика</h2></div>
<div class="chapter" id="chapter-5"><h2>Глава 5: Основы Фотошопа - Растровая графика</h2></div>
.chapter {
display: none;
}
.chapter.is-open {
display: block;
}
document.addEventListener('DOMContentLoaded', function() {
const allChapters = document.querySelectorAll('.chapter');
const closeAllChapters = () => allChapters.forEach(el => el.classList.remove('is-open'));
const openChapterById = id => document.getElementById(id).classList.add('is-open');;
document.querySelectorAll('.btn-chapter').forEach(btn => {
btn.addEventListener('click', () => {
closeAllChapters();
openChapterById(`chapter-${btn.dataset.chapter}`);
});
});
});
<button data-id="XXX1" class="copy-button">Copy</button>
<div id="XXX1"></div>
<button data-id="XXX2" class="copy-button">Copy</button>
<div id="XXX2"></div>
<button data-id="XXX3" class="copy-button">Copy</button>
<div id="XXX3"></div>
<textarea id="textarea-el"></textarea>
document.querySelectorAll('.copy-button').forEach(btn => {
btn.addEventListener('click', () => {
const id = btn.dataset.id;
const text = document.getElementById(id).textContent;
document.getElementById('textarea-el').value = text;
});
});
.my-slider
.my-slider-clip
.my-slider-container
.swiper
.my-slider-clip { margin-inline: -50px; overflow: hidden; }
.my-slider-container { padding-inline: 50px; }
.ny-slider .swiper { overflow: visible; }
slidesToShow: 1;
. <div class="filter-item">
<input type="checkbox">
</div>
<div class="filter-item">
<input type="checkbox">
</div>
<div class="filter-item">
<input type="checkbox">
</div>
<button id="apply-button">показать</button>
#apply-button {
display: none;
}
.filter-item {
position: relative;
}
.filter-item input:checked ~ #apply-button {
display: block;
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-50%);
}
const button = document.getElementById('apply-button');
document.querySelectorAll('.filter-item').forEach(item => {
const cb = item.querySelector('input[type=checked]');
cb.addEventListener('change', () => {
if (cb.checked) {
item.appendChild(button);
}
})
});
let timerId;
const timer = () => {
const text = document.querySelector('.Tag-module_content__uLsTI').textContent
if(text.slice(0, -1)<(-52)){
// ...payload
console.log('Сработало условие');
// Сработало, больше не требуется
}
else{
rel();
// Не сработало, запускаем снова через секунду
timerId = setTimeout(timer, 1000);
}
}
timerId = setTimeout(timer, 150);
btn.addEventListener('click' e=>{
const modal = e.target.closest('.modal[data-modal=cart]');
});
Порождается ли событие в элементе
Порождается ли событие кликом по элементу или упрощенно самим элементом?
function debounce(func, delay) {
let timeoutId;
return function (...args) {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
input.addEventListener('input', debounce(e => {
fetchSuggestions(e.target.value); // This is being called on every keystroke
}, 100));