Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在循环下包括第一个、上一个(<;)下一个(>;),最后一个内部分页_Javascript_Jquery_Html_Pagination - Fatal编程技术网

Javascript 在循环下包括第一个、上一个(<;)下一个(>;),最后一个内部分页

Javascript 在循环下包括第一个、上一个(<;)下一个(>;),最后一个内部分页,javascript,jquery,html,pagination,Javascript,Jquery,Html,Pagination,我有一个代码,为每8组数据创建一个分页,下面是我的代码 <script> function LoadAllData(){ google.script.run.withSuccessHandler(GenerateMainTable).getData(); } function GenerateMainTable(data) { var createcard = document.getElementById("maincontainer"); createcard.inner

我有一个代码,为每8组数据创建一个分页,下面是我的代码

<script>
function LoadAllData(){
google.script.run.withSuccessHandler(GenerateMainTable).getData();
}
function GenerateMainTable(data) {
  var createcard = document.getElementById("maincontainer");
  createcard.innerHTML += '' 

  for (var i = 1; i < data.length; i++) {
    var imagelink = data[i][0],
        brand =  data[i][1],
        prodcat = data[i][2],
        prodcode = data[i][3],
        prodname = data[i][4],
        packaging = data[i][5],
        srp = data[i][6] ,
        des1 = data[i][7],
        des2 = data[i][8],
        des3 = data[i][9],
        des4 = data[i][10],
        des5 = data[i][11],
        des6 = data[i][12];

    if (data[i][0] === "") { break; }
    createcard.innerHTML += '<div class="card">' +                                      
                            '<div id="one">' +
                            '<img class = "tableformat" src="' + imagelink + '" alt="Product" height="94%" width="94%" align = "center">' +
                            '</div>' +
                            '<div id="two">'+
                             '<table width = "100%" height = "100%" class = "tableformat">' +
'   <tbody>' +
'       <tr class = "tableformat">' +
'           <td class = "tableformat">Product Description</td>' +
'           <td class = "tableformat">SRP</td>' +
'           <td class = "tableformat">Packaging</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td class = "tableformat">' + prodcode + '</td>' +
'           <td class = "tableformat">' + srp + '</td>' +
'           <td class = "tableformat">' + packaging + '</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des1 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des2 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des3 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des4 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des5 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des6 +'</td>' +
'       </tr>' +
'   </tbody>' +
'</table>'
                            '</div>' +  
                            '</div>'; 

  }
  createcard.innerHTML += '</div>';

 pageSize = 8;

    var pageCount =  $(".card").length / pageSize;

     for(var i = 0 ; i<pageCount;i++){

       $("#pagin").append('<li><a href="#">'+(i+1)+'</a></li> ');
     }
        $("#pagin li").first().find("a").addClass("current")
    showPage = function(page) {
        $(".card").hide();
        $(".card").each(function(n) {
            if (n >= pageSize * (page - 1) && n < pageSize * page)
                $(this).show();
        });        
    }

    showPage(1);

    $("#pagin li a").click(function() {
        $("#pagin li a").removeClass("current");
        $(this).addClass("current");
        showPage(parseInt($(this).text())) 
    });
}
</script>

函数LoadAllData(){
google.script.run.withSuccessHandler(GenerateMainable).getData();
}
函数生成器可维护(数据){
var createcard=document.getElementById(“主容器”);
createcard.innerHTML+=“”
对于(变量i=1;i
请注意这部分代码,因为它是创建分页的部分

pageSize = 8;

    var pageCount =  $(".card").length / pageSize;

     for(var i = 0 ; i<pageCount;i++){

       $("#pagin").append('<li><a href="#">'+(i+1)+'</a></li> ');
     }
        $("#pagin li").first().find("a").addClass("current")
    showPage = function(page) {
        $(".card").hide();
        $(".card").each(function(n) {
            if (n >= pageSize * (page - 1) && n < pageSize * page)
                $(this).show();
        });        
    }

    showPage(1);

    $("#pagin li a").click(function() {
        $("#pagin li a").removeClass("current");
        $(this).addClass("current");
        showPage(parseInt($(this).text())) 
    });
}
pageSize=8;
var pageCount=$(“.card”)。长度/页面大小;
对于(变量i=0;i=pageSize*(第1页)和&n
我的问题是,只要我有数据,代码就会创建分页,这是我不想要的。我的目标是如何添加这样的内容

**第一个>最后一个*

**请查看更新的代码**

<script>
function LoadAllData(){
google.script.run.withSuccessHandler(GenerateMainTable).getData();
}
function GenerateMainTable(data) {
  var createcard = document.getElementById("maincontainer");
  createcard.innerHTML += '' 

  for (var i = 1; i < data.length; i++) {
    var imagelink = data[i][0],
        brand =  data[i][1],
        prodcat = data[i][2],
        prodcode = data[i][3],
        prodname = data[i][4],
        packaging = data[i][5],
        srp = data[i][6] ,
        des1 = data[i][7],
        des2 = data[i][8],
        des3 = data[i][9],
        des4 = data[i][10],
        des5 = data[i][11],
        des6 = data[i][12];

    if (data[i][0] === "") { break; }
    createcard.innerHTML += '<div class="card">' +                                      
                            '<div id="one">' +
                            '<img class = "tableformat" src="' + imagelink + '" alt="Product" height="94%" width="94%" align = "center">' +
                            '</div>' +
                            '<div id="two">'+
                             '<table width = "100%" height = "100%" class = "tableformat">' +
'   <tbody>' +
'       <tr class = "tableformat">' +
'           <td class = "tableformat">Product Description</td>' +
'           <td class = "tableformat">SRP</td>' +
'           <td class = "tableformat">Packaging</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td class = "tableformat">' + prodcode + '</td>' +
'           <td class = "tableformat">' + srp + '</td>' +
'           <td class = "tableformat">' + packaging + '</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des1 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des2 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des3 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des4 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des5 +'</td>' +
'       </tr>' +
'       <tr class = "tableformat">' +
'           <td  colspan="3" class = "tableformat">'+ des6 +'</td>' +
'       </tr>' +
'   </tbody>' +
'</table>'
                            '</div>' +  
                            '</div>'; 

  }
  createcard.innerHTML += '</div>';
var curPage;
    curPage = 0;

 var showPage = function(page) { 
     'use strict';
     $(".card").hide();
     $(".card").each(function(n) { if (n >= pageSize * (page - 1) && n < pageSize * page) $(this).show(); });
     curPage = page;
 };

//group Size

var groupSize;
    groupSize = 8;

//Page size is equal to ( data.length - remainder ) divide by group size
// get an interger not float
//Using data.length not getting elements
//This will improve perfomance

//Remove this declaration Used for code hinting in dreamweaver
var data;

var pageSize;
    pageSize =  ( data.length - ( data.length % groupSize ) ) / groupSize;
var pagin = $("#pagin");

var addChild = function( name, callback, x  ){
    'use strict';
    var clas = '';
    if(x && x !== void(0 ) && x === 1 ){
        clas  = 'current';
    }

    //This Works 
    //pagin.append( '<li><a href="#" ' + clas +' >' + name + '</a></li>' );

    //untested code
    var html = $('<li><a href="#">' + name + '</a></li>' );
        html.click( callback );
        html.appendTo( pagin );
    //return true;

    void( callback );
};


//Add Previous Calls

addChild( 'Previous', function(){ 'use strict';  var i = curPage - 1; showPage(i);  } );
addChild( '<<', function(){ 'use strict';  var i = curPage - 1; showPage(i);  } );

//Loop through all Elements
for( var i = 0; i < pageSize; i++ ){
    addChild( pageSize + 1 , showPage.bind( null, i ),  i );
}

//Add Previous Calls
addChild( '>>', function(){ 'use strict'; var i = curPage + 1; showPage(i);  } );
addChild( 'Next', function(){ 'use strict';  var i = curPage + 1; showPage(i);  } ); 

}
</script>

函数LoadAllData(){
google.script.run.withSuccessHandler(GenerateMainable).getData();
}
函数生成器可维护(数据){
var createcard=document.getElementById(“主容器”);
createcard.innerHTML+=“”
对于(变量i=1;i=pageSize*(page-1)和&n”);
//未测试代码
var html=$(“
  • ”); html.click(回调); html.appendTo(pagin); //返回true; 无效(回拨); }; //添加以前的通话 addChild('Previous',function(){'use strict';var i=curPage-1;showPage(i);}); addChild(“”,function(){'use strict';变量i=curPage+1;showPage(i);}); addChild('Next',function(){'use strict';var i=curPage+1;showPage(i);}); }
    这是输出

    您可以使用此示例代码玩游戏

    <!DOCTYPE html>
    <html>
    <head>
    <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="https://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript" src="https://cssglobe.com/lab/easypaginate/js/easypaginate.js"></script>
    <style>
       .card {
              box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
              transition: 0.3s;
              width: 49%;
              height: 206px;
              display:inline-block;
              margin-left: 7px;
              margin-bottom: 20px;
            }
    
             .card:hover {
              box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
            }
       div#one {
              width: 30%;
              height: 100%;
              float: left;
            }
       div#two {
              margin-left: 30%;
              height: 100%;
       }
       * {
              font-family: 'Lato', sans-serif;
              font-size: 12px;
       }     
       .tableformat{
              border:1px solid #ddd;
              border-collapse: collapse;
              padding: 5px;
              text-align:left;
        }
        .img{
             display: block;
             margin: auto;
        }
    
    body {
        font-family: arial;
    }
    select {
        border: 1px solid #d6d8db;
        background-color: #ecedee;
        text-transform: uppercase;
        color: #47515c;
        padding: 12px 30px 12px 10px;
        width: 300px;
        cursor: pointer;
        margin-bottom: 10px;
    }
    select > option {
        text-transform: uppercase;
        padding: 5px 0px;
    }
    .customSelect {
        border: 1px solid #d6d8db;
        background-color: #ecedee;
        text-transform: uppercase;
        color: #47515c;
        padding: 12px 10px 12px 10px;
        margin-bottom: 10px;
    }
    .customSelect.changed {
        background-color: #f0dea4;
    }   
    .customSelectInner {
        background:url(http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png) no-repeat center right;
    }
    
    #pagin li {
      display: inline-block;
      margin: 1px;
    }
    
    .pagination a {
        color: black;
        padding: 8px 16px;
        text-decoration: none;
        transition: background-color .3s;
        border: 1px solid #ddd;
    }
    
    .pagination a.active {
        background-color: #4CAF50;
        color: white;
        border: 1px solid #4CAF50;
    }
    
    .pagination a:hover:not(.active) {background-color: #ddd;}
    
    input[type=text] {
        width: 300px;
        height: 30px;
        box-sizing: border-box;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 12px;
        background-color: white;
        background-image: url('https://thumb.ibb.co/dWPwc5/searchicon.jpg');
        background-position: 10px 3px; 
        background-repeat: no-repeat;
        padding: 12px 20px 12px 40px;
    }
    
    </style>
    </head>
    <body onLoad = "GenerateMainTable()">
    &nbsp;&nbsp;<input type="text" name="search" placeholder="Search..">
    <br>
    <div class="pagination" style=" margin: 0 auto;"><ul id="pagin"></ul></div>
    <div id = "maincontainer" class = "maincontainer" width = "100%" >
    </div>
    
    <script>
    
    function GenerateMainTable() {
    
     var data = [
            ['dataid1', 'area1', 'cusname1', 'cic1', 'remarks1', 'status1', 'docdate1'],
            ['dataid2', 'area2', 'cusname2', 'cic2', 'remarks2', 'status2', 'docdate2']
        ]
    
      var createcard = document.getElementById("maincontainer");
      createcard.innerHTML += '' 
    
      for (var i = 1; i < data.length; i++) {
        var imagelink = data[i][0],
            brand =  data[i][1],
            prodcat = data[i][2],
            prodcode = data[i][3],
            prodname = data[i][4],
            packaging = data[i][5],
            srp = data[i][6] ,
            des1 = data[i][7],
            des2 = data[i][8],
            des3 = data[i][9],
            des4 = data[i][10],
            des5 = data[i][11],
            des6 = data[i][12];
    
        if (data[i][0] === "") { break; }
        createcard.innerHTML += '<div class="card">' +                                      
                                '<div id="one">' +
                                '<img class = "tableformat" src="' + imagelink + '" alt="Product" height="94%" width="94%" align = "center">' +
                                '</div>' +
                                '<div id="two">'+
                                 '<table width = "100%" height = "100%" class = "tableformat">' +
    '   <tbody>' +
    '       <tr class = "tableformat">' +
    '           <td class = "tableformat">Product Description</td>' +
    '           <td class = "tableformat">SRP</td>' +
    '           <td class = "tableformat">Packaging</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td class = "tableformat">' + prodcode + '</td>' +
    '           <td class = "tableformat">' + srp + '</td>' +
    '           <td class = "tableformat">' + packaging + '</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td  colspan="3" class = "tableformat">'+ des1 +'</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td  colspan="3" class = "tableformat">'+ des2 +'</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td  colspan="3" class = "tableformat">'+ des3 +'</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td  colspan="3" class = "tableformat">'+ des4 +'</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td  colspan="3" class = "tableformat">'+ des5 +'</td>' +
    '       </tr>' +
    '       <tr class = "tableformat">' +
    '           <td  colspan="3" class = "tableformat">'+ des6 +'</td>' +
    '       </tr>' +
    '   </tbody>' +
    '</table>'
                                '</div>' +  
                                '</div>'; 
    
      }
      createcard.innerHTML += '</div>';
      pageSize = 8;
        var pageCount =  $(".card").length / pageSize;
         for(var i = 0 ; i<pageCount;i++){
           $("#pagin").append('<li><a href="#">'+(i+1)+'</a></li>');
         }
            $("#pagin li").first().find("a").addClass("current")
        showPage = function(page) {
            $(".card").hide();
            $(".card").each(function(n) {
                if (n >= pageSize * (page - 1) && n < pageSize * page)
                    $(this).show();
            });        
        }
        showPage(1);
        $("#pagin li a").click(function() {
            $("#pagin li a").removeClass("current");
            $(this).addClass("current");
            showPage(parseInt($(this).text())) 
        });
    }
    </script>
    
    
    
    
    </body>
    </html> 
    
    
    .卡片{
    盒影:0 4px 8px 0 rgba(0,0,0,0.2);
    过渡:0.3s;
    宽度:49%;
    高度:206px;
    显示:内联块;
    
    **
    
        // JavaScript Document
    
    
    /* 
        Creating Prev Next and Proper Paging
    
        paging 
            ul > li > a 
    
        overview 
            ul >
                li > a > Previous
                li > a > <<
                ( li > a > 1 )*
                li > a > >>
                li > a > Next
    */
    
    var curPage;
        curPage = 0;
    
     var showPage = function(page) { 
         'use strict';
         $(".card").hide();
         $(".card").each(function(n) { if (n >= pageSize * (page - 1) && n < pageSize * page) $(this).show(); });
         curPage = page;
     };
    
    //group Size
    
    var groupSize;
        groupSize = 8;
    
    //Page size is equal to ( data.length - remainder ) divide by group size
    // get an interger not float
    //Using data.length not getting elements
    //This will improve perfomance
    
    //Remove this declaration Used for code hinting in dreamweaver
    var data;
    
    var pageSize;
        pageSize =  ( data.length - ( data.length % groupSize ) ) / groupSize;
    var pagin = $("#pagin");
    
    var addChild = function( name, callback, x  ){
        'use strict';
        var clas = '';
        if(x && x !== void(0 ) && x === 1 ){
            clas  = 'current';
        }
    
        //This Works 
        //pagin.append( '<li><a href="#" ' + clas +' >' + name + '</a></li>' );
    
        //untested code
        var html = $('<li><a href="#">' + name + '</a></li>' );
            html.click( callback );
            html.appendTo( pagin );
        //return true;
    
        void( callback );
    };
    
    
    //Add Previous Calls
    
    addChild( 'Previous', function(){ 'use strict';  var i = curPage - 1; showPage(i);  } );
    addChild( '<<', function(){ 'use strict';  var i = curPage - 1; showPage(i);  } );
    
    //Loop through all Elements
    for( var i = 0; i < pageSize; i++ ){
        addChild( pageSize + 1 , showPage.bind( null, i ),  i );
    }
    
    //Add Previous Calls
    addChild( '>>', function(){ 'use strict'; var i = curPage + 1; showPage(i);  } );
    addChild( 'Next', function(){ 'use strict';  var i = curPage + 1; showPage(i);  } );