Как после вызова перезагрузки открутить скрол в нужном месте
Всем добрый день. Проблема такая: добавляю данные в БД, но они появляются только после перезагрузки....
Что мне нужно изменить, чтоб после клика на модальное окно, страница перезагружалась и откатывалась к нужному id или класу (добавленному контенту)... заранее благодарен за внимание... /* вывод модального окна */ $('#modal_green, #modal_red').click(function(){ var x = document.getElementById('modal_red'); x.style.visibility = 'hidden'; x.style.opacity = '0'; var y = document.getElementById('modal_green'); y.style.visibility = 'hidden'; y.style.opacity = '0'; }); $(".submit_otzivi").click(function(){ var error=false; $(".mail_name, .mail_text").each(function(){ if($(this).val()==""){ error=true; } }) if(error===true){ var x = document.getElementById('modal_red'); x.style.visibility = 'visible'; x.style.opacity = '1'; x.style.transition = 'all 0.7s ease-out 0s'; /*alert("Заполните все обязательные поля");*/ } else { var y = document.getElementById('modal_green'); y.style.visibility = 'visible'; y.style.opacity = '1'; y.style.transition = 'all 0.7s ease-out 0s'; /*отправка формы*/ $(".form2").submit(function() { $.ajax({ type: "POST", url: "send_otzivi.php", data: $(this).serialize() }).done(function() { $(this).find("input").val(""); $(".form2").trigger("reset"); }); return false; }); } }); |
После перезагрузки страница должна найти элемент, к которому надо роллинговать
И выполнить scrollIntoView к нему https://developer.mozilla.org/en-US/...scrollIntoView |
Я уже делал так, но после перезагрузки скрол не происходит...
делал так: $(".form2").submit(function() { $.ajax({ type: "POST", url: "send_otzivi.php", data: $(this).serialize() }).done(function() { $(this).find("input").val(""); $(".form2").trigger("reset"); /* после добавления в БД, делаю перезагрузку */ document.location.href="http://test.ensy.com.ua"; /* скрол к элементу... но он не происходит */ const element = document.getElementById("element"); element.scrollIntoView({block: "center", inline: "center"}); }); return false; }); |
Так же пытался перезагрузку и скрол, привязать к клику по мадально му окну, но все равно не получается... Проиходит перезагрузка, а скрол пытается откатить, но сразу возвращается наверх...
|
Zhenyaxxxx,
в done поставить метку в localStorage, в DOMContentLoaded проверить наличие метки и переместится к блоку и стереть метку. |
Zhenyaxxxx,
$(function() { if (localStorage.getItem('view')) { localStorage.removeItem('view'); const element = document.getElementById("element"); element.scrollIntoView({ block: "center", inline: "center" }); }; $(".form2").submit(function(event) { event.preventDefault(); $.ajax({ type: "POST", url: "send_otzivi.php", data: $(this).serialize() }).done(function() { localStorage.setItem('view', "yes"); document.location.href = "http://test.ensy.com.ua"; }); }); }); |
Я не высокий специалист в js, поэтому не могу понять куда мне что добавить и стереть... Я так понял в функцию done(function() мне нужно добавить метку, но как это сделать не понимаю как это сделать и что изменить....
Если не тяжело, можете мне какой то пример кода, или разжевать.... Ничего не понял... |
Цитата:
|
я одновременно с вами написал ответ... спасибо за внимание, сейчас буду пробовать...
|
Супер, все работает, спасибо!!!
|
Часовой пояс GMT +3, время: 17:24. |