Задать вопрос
@Norokesku

Всплывающее окно выскакивает несколько раз. Как сделать, чтобы оно появлялось только единожды?

Речь о всплывающем окне с выбором города на сайте: https://stirka.online

document.addEventListener("DOMContentLoaded", function(){
// отправка данных
	let xhr = new XMLHttpRequest();
	xhr.open("POST", "city/city.php", false);

	let user_city;

	xhr.addEventListener('readystatechange', function(){
		if((xhr.readyState == 4) && (xhr.status === 200)){
			//console.log('Страница ответила');
			// ответ magazine.php
			//console.log(xhr.responseText);
			user_city = xhr.responseText;
		}
	});

	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
//xhr.setRequestHeader('Content-type', 'text/plain');

	xhr.send('user=' + 'город');

//console.log(window.location);

	let user_city2;

	if (user_city == 'Иркутск') {
		user_city2 = 'Москва';
	} else {
		user_city = 'Москва';
		user_city2 = 'Иркутск';
	}


// генерация модального окна
	let div = document.createElement('div');

	div.className = 'city';
	div.innerHTML = '<div><a class="close">+</a><form action="/?city" method="get"><div class="form"><p>Ваш город ' + user_city + ' ?</p><select name="city"><option >' + user_city + '</option><option>' + user_city2 + '</option></select><br><button type="submit" class="button">Выбрать</button></form></div></div>';

	document.querySelector('body').appendChild(div);

// закрытие модального окна
	let close = document.querySelector('.close');

	if (window.location.search == '') {
		document.querySelector('.city').style.cssText='display: block;';
		document.querySelector('body').style.cssText='overflow: hidden;';
	}

// закрытие модального окна
	close.onclick = function() {
		document.querySelector('.city').style.cssText='display: none;';
		document.querySelector('body').style.cssText='overflow: scroll;';
	}


// открытие маодального окна
	document.querySelector('.user_city').onclick = function() {
		document.querySelector('.city').style.cssText='display: block;';
		document.querySelector('body').style.cssText='overflow: hidden;';
	}

});
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы