Кнопка показать еще на AJAX

201
23 октября 2018, 16:50

есть код на ajax который при прокрутке страницы подгружает товар

    var 
    ajaxLoad=false, 
    page=2,
    maxPage=<?=ceil($arResult['DOCS_TOTAL']/10)?>,
    price_low='<?=$_REQUEST['price_low']?>',
    price_high='<?=$_REQUEST['price_high']?>',
    q='<?=$_REQUEST['q']?>',
    how='<?=$_REQUEST['how']?>';    
    $(window).scroll(function(){    
    var div = $('.search-page .product-list');
    var scrollPos = $(this).scrollTop()+div.height();
    var divPos = div.offset().top+div.height();
        if($(window).height() + $(window).scrollTop() >= $(document).height()-1200 && !ajaxLoad && page<=maxPage){
            div.append('<div class="wait"><i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>Пожалуйста подождите</div>');
            ajaxLoad=true;  
            $.get('/search/', 
            {
                AJAX: 'Y', 
                page: page,
                price_low: price_low,
                price_high: price_high,
                q:q,
                how: how
            }, 
            function(data){
                if(data)div.append(data);
                $('.wait').remove();
                page++;
                ajaxLoad=false;
            });
        }
    })
     $('#blue').click(function () {
         $forPhotosG.finish();
         $forPhotosG.slideToggle("slow");
         $(this).find("b").first().css({"display":"none"})
         return false;
     });

Как бы его модернизировать чтоб подгружал не при прокрутке страницы а при нажатии на кнопку ?

<div id="blue">
  <div class="btn btn-default show-more" style="margin: 15px;" data-use="show-more-1">
    Показать ещё
  </div>
</div>
Answer 1

Должно работать.

$('.btn.btn-default.show-more').on('click',function(){
    if(!ajaxLoad){
        div.append('<div class="wait"><i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>Пожалуйста подождите</div>');
        ajaxLoad=true;  
        $.get('/search/', 
        {
            AJAX: 'Y', 
            page: page,
            price_low: price_low,
            price_high: price_high,
            q:q,
            how: how
        }, 
        function(data){
            if(data)div.append(data);
            $('.wait').remove();
            page++;
            ajaxLoad=false;
        });
    }
})

Заменить нужно эту часть кода

READ ALSO
canvas 3d ящик с открытием

canvas 3d ящик с открытием

Есть готовые решения для реализации простого ящика с открытием крышки на canvas? Пример

219
слайдер с миниатюрами внизу и сбоку

слайдер с миниатюрами внизу и сбоку

Исходные данные: есть стандартный слайдер с большой(выбранной) картинкой по центру и миниатюрами под ней расположенных в строкуНужно сделать...

169
Как правильно написать триггер

Как правильно написать триггер

Первый раз пишу триггер, скажите в чем может быть проблема

199
из json в базу данных

из json в базу данных

Ребят - дано куча json файлов - содержащих данныеНадо поместить данные в базу mysql

216