Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Почему подпрыгивает сайт при появлении модальных окон?

Почему подпрыгивает сайт при появлении модальных окон?


     16.10.2020    dle, 14.1, модальные окна    Общие вопросы по PHP, Ламерские вопросы    124

вопрос
Скачал dle 14.1 Голая, ничего не настраивал кроме как изменил тип рейтинга на лайк.
При появлении модалных окон, сайт подпрыгивает на 5-10px то вверх то вниз. А еще иногда при простом обновлении страницы.
В чем может быть причина?

Ответил: New-dev.ru


Замените код функции DLEalert в файле dle_js.js на этот (изменения в трех местах)
function DLEalert(message, title){

	$("#dlepopup").remove();

	$("body").append("<div id='dlepopup' class='dle-alert' title='" + title + "' style='display:none; overflow:hidden!important;'>"+ message +"</div>");

	$('#dlepopup').dialog({
		autoOpen: false,
		width: 470,
		resizable: false,
		dialogClass: "modalfixed dle-popup-alert",
		buttons: {
			"Ok": function() { 
				$(this).dialog("close");
				$("#dlepopup").remove();							
			} 
		}
	});

	$('#dlepopup').parent().css({position:'fixed'}).end().dialog('open');
	
	$('.modalfixed.ui-dialog').css({position:"fixed"});
	$('#dlepopup').dialog( "option", "position", { my: "center", at: "center", of: window } );
};

8 комментариев

леший
Эксперт

леший - 16 октября 2020 14:52 -

Этот эффект вызван способом появления окна, в более старых версиях размеры и позиция были жестко прописаны в dle_js.js, в новых версиях размеры и позиция окна рассчитываются на лету, в зависимости от разрешения экрана. (сравнивал версии 11.3 и 14.1).

scarlet
Юзер

scarlet - 16 октября 2020 14:56 -

Как избежать этого? Можно как-то пофиксить? Буду очень признателен!

aarka
Юзер

aarka - 16 октября 2020 16:37 -

в DLE 14.0 что-то не замечал такого...

scarlet
Юзер

scarlet - 16 октября 2020 17:03 -

Включи тип рейтинга "Лайки" и сам себе лайк попробуй поставить) На 10 пикселей то вверх то вниз прыгает страница

леший
Эксперт

леший - 16 октября 2020 23:18 -

От типа рейтинга это не зависит, это могут быть и звёзды (косяк виден даже на оф. демо сайте) . Как это лечится пока сказать не могу, не смотрел пока ещё, с телефона не удобно код весь просматривать

леший
Эксперт

леший - 17 октября 2020 02:19 -

В общем приношу свои извинения scarlet, но я ошибся, причина не в "способе появления окна", так как сравнил два файла целиком, увидел, что celsoft сменили только
$("#dlepopup").dialog("option","position",["0","0"])
на
$("#dlepopup").dialog("option","position",{my:"center",at:"center",of:window})

Но это ни на что не влияет (проверил).

P.S.: Сейчас уже поздно, завтра днём попробую найти причину, если больше никто не ответит.

scarlet
Юзер

scarlet - 17 октября 2020 09:13 -

Да, я тоже через diff чекал. Пробовал менять эту строку. Но ничего не менялось. Весь сайт dle-news и форум прочесал, тоже никакой инфы, странно.

scarlet
Юзер

scarlet - 18 октября 2020 17:43 -

В общем, я перепробовал всё что мог. А именно: Ставил старую версию dle_js и отключал в движке все что возможно, проверял все функции на возможные ошибки или конфликты, менял версии jq, менял даже хостинг, и заказы на фрилансах оставлял с просьбой решить проблему. Никто не может понять с чем это связано, все способы были безрезультатны а люди которые пытались помочь лишь разводили руками.
Но! Я нашел решение. Было долго и нудно, но я справился. Просто заменил все модалки на стороннюю библиотеку от magnific. Не хотел но пришлось. Так как у меня все модули и плагины работали именно на jq ui.
Но всё равно, хотелось бы узнать причину, почему окна подпрыгивают. В вёрстке тоже всё впорядке. Очень странно..

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх