Пагинация своими руками

238
02 января 2018, 16:58

Всех с наступающим. Ребята подскажите как сделать в пагинации 5 шагов в лево. ну и соответственно 5 вправо.

Проблема в том что я обращаюсь к классу а беру значение внутри класса. Но если вместо значения стрелочки?

$('body').on('click','.go',function () {
        let $this=$(this);
        page=$this.text();
        switch ($this){
            case 'tenleft':
                page=page-10;
                alert(page);
                break;
            case 'fiveleft':
                page=page-5;
                alert(page);
                break;
            case 'fiveright':
                page=page+5;
                alert(page);
                break;
            case 'tenright':
                page=page+10;
                alert(page);
                break;
            default:
                page=$this.text();
                alert(page);
        }
        $.ajax({
            url: "pagination.php",
            data: {page: page},
            type: 'POST',
            cache: false,
            dataType: 'json',
            success: (function (data) {
                if (data.allpages) {
                    let bar = '';
                    let last=data.last;
                    let ctn = data.allpages.length;
                    bar+= '<ul class="pagination">';
                    if(page>10) {
                        bar += '<li class="go tenleft" ><a> << </a></li>';
                    }
                    if(page>5){
                        bar+= '<li class="go fiveleft" ><a> < </a></li>';
                    }
                    for (let i = 0; i < ctn; i++) {
                        if (data.allpages[i] == page) {
                            bar += ' <li class="go active" ><a >' + data.allpages[i] + '</a></li>';
                        }else{
                            bar += ' <li class="go " ><a >' + data.allpages[i] + '</a></li>';
                        }
                    }
                    bar += '<li><a>...</a></li>';
                    bar += '<li class="go" ><a>'+last+'</a></li>';
                    if(last-page>5) {
                        bar += '<li class="go fiveright" ><a> > </a></li>';
                    }
                    if(last-page>10){
                        bar += '<li class="go tenright"><a> >> </a></li>';
                    }
                    bar += '</ul>';
                    $('#products').html(bar);
                }
})
Answer 1
var page = $this.text();
if ($this.hasClass('tenleft')) {
  page = +page - 10;
} else if ($this.hasClass('fiveleft')) {
  page = +page - 5;
} else if ($this.hasClass('fiveright')) {
  page = +page + 5;
} else if ($this.hasClass('tenright')) {
  page = +page + 10;
}
alert(page);
READ ALSO
Проблема с data-id

Проблема с data-id

Суть в том, что data-id не соответствуетНе могу понять почему

244
В чем отличие __proto от prototype?

В чем отличие __proto от prototype?

В чем различие этих 2 способов прототипного наследования и какой из них более правильнее использовать?

318