const openPops = document.querySelectorAll('.open__popup');
const closePop = document.querySelector('.popup__close');
const popUps = document.querySelectorAll('.popup');
openPops.forEach((openPop, index) => {
openPop.addEventListener('click', function (e) {
e.preventDefault();
popUps[index].classList.add('active');
});
});
closePop.addEventListener('click', () => {
popUps.forEach(popUp => {
popUp.classList.remove('active');
});
});
function showToast (text) {
let toastContainer = document.getElementById('toast-container');
let toastEl = document.createElement('div');
toastEl.classList.add('toast');
toastEl.setAttribute('role', 'alert');
toastEl.setAttribute('aria-live', 'assertive');
toastEl.setAttribute('aria-atomic', 'true');
let toastBody = document.createElement('div');
toastBody.classList.add('toast-body');
toastBody.innerText = text;
toastEl.appendChild(toastBody);
toastContainer.appendChild(toastEl);
let bootstrapToast = new bootstrap.Toast(toastEl);
bootstrapToast.show();
}
<div id="toast-container" aria-live="polite" aria-atomic="true"></div>
const text = "Некоторый текст 10 января 2023 г. еще какой-то текст 15 Марта 2022 г.";
const regex = /(\d{1,2}\s(?:Январ[ь|я]|Феврал[ь|я]|Март[а]?|Апрел[ь|я]|Май[а]?|Июн[ь|я]|Июл[ь|я]|Август[а]?|Сентябр[ь|я]|Октябр[ь|я]|Ноябр[ь|я]|Декабр[ь|я])\s\d{4}\sг\.?)/g;
const matches = text.match(regex);
console.log(matches);
function openSearch() {
document.getElementById("myOverlay").style.display = "block";
}
function closeSearch() {
document.getElementById("myOverlay").style.display = "none";
}
document.querySelector("#openSearchBtn").addEventListener("click", openSearch);
document.querySelector("#closeSearchBtn").addEventListener("click", closeSearch);
$(document).ready(function() {
$('#openSearchBtn').click(function() {
$('#myOverlay').css('display', 'block');
});
$('#closeSearchBtn').click(function() {
$('#myOverlay').css('display', 'none');
});
});
<button onclick="openSearch()">Открыть поиск</button>
<button onclick="closeSearch()">Закрыть поиск</button>
const puppeteer = require('puppeteer');
const axios = require('axios');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const api = 'api';
await page.goto(api);
const headers = await page.evaluate(() => {
return {
Authorization: 'Bearer *',
login: 'login',
password: 'password',
};
});
const data = await axios.get(api, { headers });
console.log(data.data);
await browser.close();
})();
const array = [0, 1]; // Исходный массив
const image = new Image(); // Создаем объект изображения
image.src = 'path/to/image.jpg'; // Указываем путь к изображению
function replaceOneWithImage(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 1) {
arr[i] = image; // Заменяем значение 1 на объект изображения
}
}
return arr;
}
const newArray = replaceOneWithImage(array); // Получаем новый массив
console.log(newArray); // Выводим результат в консоль
const form = document.getElementsByTagName('form')[0];
const email = document.getElementById('mail');
const emailError = document.querySelector('#mail + span.error');
email.addEventListener('input', function (event) {
// Каждый раз, когда пользователь что-то вводит,
// мы проверяем, являются ли поля формы валидными
if (email.validity.valid) {
// Если на момент валидации какое-то сообщение об ошибке уже отображается,
// если поле валидно, удаляем сообщение
emailError.textContent = ''; // Сбросить содержимое сообщения
emailError.className = 'error'; // Сбросить визуальное состояние сообщения
} else {
// Если поле не валидно, показываем правильную ошибку
showError();
}
});
form.addEventListener('submit', function (event) {
// Если поле email валдно, позволяем форме отправляться
if(!email.validity.valid) {
// Если поле email не валидно, отображаем соответствующее сообщение об ошибке
showError();
// Затем предотвращаем стандартное событие отправки формы
event.preventDefault();
}
});
function showError() {
if(email.validity.valueMissing) {
// Если поле пустое,
// отображаем следующее сообщение об ошибке
emailError.textContent = 'You need to enter an e-mail address.';
} else if(email.validity.typeMismatch) {
// Если поле содержит не email-адрес,
// отображаем следующее сообщение об ошибке
emailError.textContent = 'Entered value needs to be an e-mail address.';
} else if(email.validity.tooShort) {
// Если содержимое слишком короткое,
// отображаем следующее сообщение об ошибке
emailError.textContent = `Email should be at least ${ email.minLength } characters; you entered ${ email.value.length }.`;
}
// Задаём соответствующую стилизацию
emailError.className = 'error active';
}