Показать сообщение отдельно
  #1 (permalink)  
Старый 06.08.2019, 14:50
Аспирант
Отправить личное сообщение для yarnik Посмотреть профиль Найти все сообщения от yarnik
 
Регистрация: 19.11.2011
Сообщений: 34

первый запуск в хроме
приветствую.
помогите понять в чем проблемка зарыта.
при первом запуске и первом клике на картинку в хроме не отображается фотка, второй и последующие разы все нормально.
<img src="foto.jpg" class="right toModal">

<script>
window.onload = function () {
	// Modal window
	var image = document.getElementsByClassName("toModal");
	if (image.length) {
		document.body.innerHTML += '<div id="modalDiv"><img id="modalImg"></div>';
		var modalDiv = document.getElementById("modalDiv");
		var modalImg = document.getElementById('modalImg');
		for (var i = 0; i < image.length; i++) {
			image[i].onclick = function(){
				modalDiv.style.display = "block";
				modalImg.src = this.src;
				var w = window.innerWidth;
				var h = window.innerHeight;
				var coef = 2;
				// смотрим что бы поместились в экран
				if (modalImg.naturalWidth*coef > w || modalImg.naturalHeight*coef > h) {
					coef = modalImg.naturalWidth*coef / w > modalImg.naturalHeight*coef / h ? w / modalImg.naturalWidth : h / modalImg.naturalHeight;
				}
				modalImg.style.height = modalImg.naturalHeight*coef + 'px';
				modalImg.style.width = modalImg.naturalWidth*coef + 'px';
			}
		}
		modalDiv.onclick = function() {
			modalDiv.style.display = "none";
		}
	}
}
</script>

Последний раз редактировалось yarnik, 06.08.2019 в 14:57.
Ответить с цитированием