• 技术文章 >web前端 >js教程

    基于ajax实现点击加载更多无刷新载入到本页

    亚连亚连2018-05-24 16:08:27原创2066
    本文给大家介绍通过ajax技术实现无刷新加载更多载入到本页,感兴趣的朋友一起学习吧

    先给大家展示效果图:

    效果演示

    本例是分页的另外一种显示方式,并不是隐藏未显示的内容

    数据库结构与《ajax 翻页》是一样的

    JavaScript 代码

    <script type="text/javascript"> 
    $(document).ready(function() { 
      var track_click = ; //track user click on "load more" button, righ now it is click 
      var total_pages = <?php echo $total_pages; ?>; 
      $('#results').load("fetch_pages.php", {'page':track_click}, function() {track_click++;}); //initial data to load 
      $(".load_more").click(function (e) { //user clicks on button 
        $(this).hide(); //hide load more button on click 
        $('.animation_image').show(); //show loading image 
        if(track_click <= total_pages) //make sure user clicks are still less than total pages 
        { 
          //post page number and load returned data into result element 
          $.post('fetch_pages.php',{'page': track_click}, function(data) { 
            $(".load_more").show(); //bring back load more button 
            $("#results").append(data); //append data received from server 
            //scroll page to button element 
            $("html, body").animate({scrollTop: $("#load_more_button").offset().top}, ); 
            //hide loading image 
            $('.animation_image').hide(); //hide loading image once data is received 
            track_click++; //user click increment on load button 
          }).fail(function(xhr, ajaxOptions, thrownError) {  
            alert(thrownError); //alert any HTTP error 
            $(".load_more").show(); //bring back load more button 
            $('.animation_image').hide(); //hide loading image once data is received 
          }); 
          if(track_click >= total_pages-) 
          { 
            //reached end of the page yet? disable load button 
            $(".load_more").attr("disabled", "disabled"); 
          } 
         } 
        }); 
    }); 
    </script>

    XML/HTML代码

    <p id="results"></p> 
    <p align="center"> 
    <button class="load_more" id="load_more_button">load More</button> 
    <p class="animation_image" style="display:none;"><img src="ajax-loader.gif"> Loading...</p> 
    </p>

    fetch_pages.php

    php代码

    <?php 
    include("conn.php"); 
    $item_per_page = 3; 
    //sanitize post value 
    $page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); 
     
    //throw HTTP error if page number is not valid 
    if(!is_numeric($page_number)){ 
      header('HTTP/1.1 500 Invalid page number!'); 
      exit(); 
    } 
     
    //get current starting point of records 
    $position = ($page_number * $item_per_page); 
     
    //Limit our results within a specified range.  
    $results = mysql_query("SELECT * FROM content ORDER BY id DESC LIMIT $position, $item_per_page"); 
     
    //output results from database 
    echo '<ul class="page_result">'; 
    while($row = mysql_fetch_array($results)) 
    { 
      echo '<li id="item_'.$row["id"].'"><span class="page_name">'.$row["id"].') '.$row["name"].'</span><span class="page_message">'.$row["message"].'</span></li>'; 
    } 
    echo '</ul>'; 
    ?>

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法

    Jquery Ajax请求文件下载操作失败的原因分析及解决办法

    编写轻量ajax组件01-与webform平台上的各种实现方式比较

    以上就是基于ajax实现点击加载更多无刷新载入到本页的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ajax 加载 点击
    上一篇:JS字符串方法使用步骤详解 下一篇:有关Ajax跨域问题的两种解决方法
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• JavaScript的Symbol类型、隐藏属性及全局注册表详解• 18个常见angular面试题(附答案分析)• 什么是消息队列?node中如何使用消息队列?• 浅析IDEA中如何开发Angular• 整理总结JavaScript常见的BOM操作
    1/1

    PHP中文网