Jquery分页处理可见和不可见页面 [英] Jquery pagination handling visible and non visible pages

查看:71
本文介绍了Jquery分页处理可见和不可见页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用jquery进行分页。我从数据库中提取了100条记录,然后jquery在前端进行了分页。所有其他功能都正常工作,除了可见页面,我希望一次显示10页或更少的页面,其他页面应该点击下一个或上一个。请看图像有15条来自数据库的记录,我在每页显示一条记录正常,但所有15页都显示同一时间。



图片:https://www.dropbox.com/s/8od2z5wzoj8l4u6/pager.png?dl = 0



这是我的代码





I am using jquery for pagination. i am pulling 100s of records from the database and then the jquery does the pagination on the front end. All other functionality is working fine except visible pages i want to show 10 or less pages at a time other pages should show on click of next or previous. Please look at image there are 15 records which are coming from database and i am showing one record on per page which is working fine, but all 15 pages are showing same time.

Image: https://www.dropbox.com/s/8od2z5wzoj8l4u6/pager.png?dl=0

Here is my code


function previous(){

 new_page = parseInt($('#current_page').val()) - 1;
 //if there is an item before the current active link run the function
  if($('.active_page').prev('.page_link').length==true){
 go_to_page(new_page);
 }

 }

function next(){
new_page = parseInt($('#current_page').val()) + 1;
//if there is an item after the current active link run the function
if($('.active_page').next('.page_link').length==true){
go_to_page(new_page);
 }

}
function go_to_page(page_num){
 //get the number of items shown per page

 var show_per_page = parseInt($('#show_per_page').val());

  //get the element number where to start the slice from
  start_from = page_num * show_per_page;

  //get the element number where to end the slice
   end_on = start_from + show_per_page;

  //hide all children elements of ayah_image div, get specific items and show them
$('#ayah_image').children().css('display', 'none').slice(start_from, end_on).css('display', 'block');

   /*get the page link that has longdesc attribute of the current page      and add active_page class to it
  and remove that class from previously active page link*/
  $('.page_link[longdesc=' + page_num +']').addClass('active_page').siblings('.active_page').removeClass('active_page');
//update the current page input field
 $('#current_page').val(page_num);
 }


                              $( document ).ready(function() {
                        var show_per_page = 1; 
                        //getting the amount of elements inside ayah_image div
                        var number_of_items = $('#ayah_image').children().size();
                        //calculate the number of pages we are going to have
                        var number_of_pages = Math.ceil(number_of_items/show_per_page);

                        //set the value of our hidden input fields
                        $('#current_page').val(0);
                        $('#show_per_page').val(show_per_page);

                        //now when we got all we need for the navigation let's make it '

                        /* 
                        what are we going to have in the navigation?
                            - link to previous page
                            - links to specific pages
                            - link to next page
                        */
                        var navigation_html = '<a class="previous_link" href="java<!-- no -->script:previous();">Prev</a>';
                        var current_link = 0;
                        while(number_of_pages > current_link){
                            navigation_html += '<a class="page_link" style="height:20px; width:30px;" href="java<!-- no -->script:go_to_page(' + current_link +')" longdesc="' + current_link +'">'+ (current_link + 1) +'</a>';
                            current_link++;

                        }

                        navigation_html += '<a class="next_link" href="java<!-- no -->script:next();">Next</a>';

                        $('#page_navigation').html(navigation_html);

                        //add active_page class to the first page link
                        $('#page_navigation .page_link:first').addClass('active_page');

                        $('#ayah_image').children().css('display', 'none');

                        //and show the first n (show_per_page) elements
                        $('#ayah_image').children().slice(0, show_per_page).css('display', 'block');
                        });

推荐答案

' #current_page')。val()) - 1 ;
// 如果在当前活动链接之前有一个项目运行该函数
if
('#current_page').val()) - 1; //if there is an item before the current active link run the function if(


' 。active_page')。prev(' .page_link')。长度== true ){
go_to_page(new_page);
}

}

function next(){
new_page = parseInt
('.active_page').prev('.page_link').length==true){ go_to_page(new_page); } } function next(){ new_page = parseInt(


' #current_page')。val())+ 1 ;
// 如果当前活动链接后有项目运行该功能
if
('#current_page').val()) + 1; //if there is an item after the current active link run the function if(


这篇关于Jquery分页处理可见和不可见页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆