Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   прокрутка страницы после загрузки элементов (https://javascript.ru/forum/events/81382-prokrutka-stranicy-posle-zagruzki-ehlementov.html)

GostWalk 17.11.2020 12:01

прокрутка страницы после загрузки элементов
 
Господа, уже второй день не могу решить проблему.
В наличии сайс на wp аяксом подгружаю новые посты при клике на кнопку, НО при загрузке происходит скролл к последнему элементу. И это только в браузере Хрома/яндекса. Не могли бы подсказать как решить проблему?

Спасибо.

jQuery(function($){
    $('#loadmore_sec').click(function(e){
     e.preventDefault();
        $(this).text('Загрузка...'); 
        var data = {
            'action': 'loadmore_sec',
            'query': posts_vars,
            'page' : current_page
        };
        $.ajax({
            url:ajaxurl,
            data:data,
            type:'POST',
            success:function(data){
                if(data) { 
                    $('#loadmore_sec').text('Показать ещё').before(data);
                    current_page++;
                    if (current_page == max_pages) $("#loadmore_sec").remove(); 
                } else {
                    $('#loadmore_sec').remove();
                }
            }
        });
    });
});


http://194.67.109.27/

рони 17.11.2020 14:12

GostWalk,
проблема то в чём?

GostWalk 17.11.2020 14:54

Цитата:

Сообщение от рони (Сообщение 530834)
GostWalk,
проблема то в чём?

проблема в том, что после клика на кнопку и загрузки новых элементов, происходит скролл вниз страницы, к кнопке.

Со стороны пользователя придется скролить наверх, чтобы бы увидеть загруженные элементы.

Как от этого избавиться?
Чтобы после клика, подгружались новые элементы, но не происходил скролл https://prnt.sc/vkptkq

рони 17.11.2020 15:09

GostWalk,
как вариант, сохранить значение скролла в строке 3 и установить в строке 17.

рони 17.11.2020 15:15

GostWalk,
jQuery(function($){
    $('#loadmore_sec').click(function(e){
     e.preventDefault();
     var scroll = $(window).scrollTop();
        $(this).text('Загрузка...');
        var data = {
            'action': 'loadmore_sec',
            'query': posts_vars,
            'page' : current_page
        };
        $.ajax({
            url:ajaxurl,
            data:data,
            type:'POST',
            success:function(data){
                if(data) {
                    $('#loadmore_sec').text('Показать ещё').before(data);
                    $(window).scrollTop(scroll);
                    current_page++;
                    if (current_page == max_pages) $("#loadmore_sec").remove();
                } else {
                    $('#loadmore_sec').remove();
                }
            }
        });
    });
});

GostWalk 17.11.2020 15:25

Работает отлично.
Спасибо!


Часовой пояс GMT +3, время: 13:46.