Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2022, 09:54
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Как после вызова перезагрузки открутить скрол в нужном месте
Всем добрый день. Проблема такая: добавляю данные в БД, но они появляются только после перезагрузки....

Что мне нужно изменить, чтоб после клика на модальное окно, страница перезагружалась и откатывалась к нужному 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;
		
	});  	        
            }             
    });
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2022, 10:21
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

После перезагрузки страница должна найти элемент, к которому надо роллинговать
И выполнить scrollIntoView к нему
https://developer.mozilla.org/en-US/...scrollIntoView
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2022, 10:40
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Я уже делал так, но после перезагрузки скрол не происходит...
делал так:


$(".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;
		
	});
Ответить с цитированием
  #4 (permalink)  
Старый 25.09.2022, 10:45
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Так же пытался перезагрузку и скрол, привязать к клику по мадально му окну, но все равно не получается... Проиходит перезагрузка, а скрол пытается откатить, но сразу возвращается наверх...
Ответить с цитированием
  #5 (permalink)  
Старый 25.09.2022, 13:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Zhenyaxxxx,
в done поставить метку в localStorage, в DOMContentLoaded проверить наличие метки и переместится к блоку и стереть метку.
Ответить с цитированием
  #6 (permalink)  
Старый 25.09.2022, 14:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

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";
                });
            });
        });
Ответить с цитированием
  #7 (permalink)  
Старый 25.09.2022, 14:17
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Я не высокий специалист в js, поэтому не могу понять куда мне что добавить и стереть... Я так понял в функцию done(function() мне нужно добавить метку, но как это сделать не понимаю как это сделать и что изменить....
Если не тяжело, можете мне какой то пример кода, или разжевать.... Ничего не понял...
Ответить с цитированием
  #8 (permalink)  
Старый 25.09.2022, 14:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Zhenyaxxxx
Ничего не понял...
код перед вами, пост #6, свой стереть, предложенный куда-то на страницу добавить, можно отдельным тегом, после jquery.
Ответить с цитированием
  #9 (permalink)  
Старый 25.09.2022, 14:22
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

я одновременно с вами написал ответ... спасибо за внимание, сейчас буду пробовать...
Ответить с цитированием
  #10 (permalink)  
Старый 25.09.2022, 15:10
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Супер, все работает, спасибо!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить выполняться обработчик после всех имеющихся обработчиков данного элемен Анатолий Саратовцев jQuery 2 08.10.2012 18:49
как сделать, что бы див оставался на месте после перехода на следующую страницу? OklickSpb Общие вопросы Javascript 4 15.03.2012 22:02
Позиционирование экрана на выбранном элементе страницы после перезагрузки qwr938 Общие вопросы Javascript 4 31.01.2011 21:01
Подскажите как в VLC плеере переключать канал без перезагрузки страницы? mff Events/DOM/Window 0 10.05.2010 17:28
Как передать что-то после location.replace? Nominus umbra Общие вопросы Javascript 26 23.12.2009 21:50