jQuery+AJAX实现无刷新下拉加载更多


Posted in Javascript onJuly 03, 2015

随着互联网时代的发展,web前端已经和后台数据挂钩,作为web前端仅仅不是只切图写写html,css  和简单js交互。

js  code

$(function() {
  var page = 1;
  var discount = $('#discount');
  var innerHeight = window.innerHeight;
  var timer2 = null;
  $.ajax({
    url: '/lightapp/marketing/verify/apply/list?page=1',
    type: 'GET',
    dataType: 'json',
    timeout: '1000',
    cache: 'false',
    success: function (data) {
        if (data.error_code === 0) {
          var arrText = [];
          for (var i = 0, t; t = data.list[i++];) {
            arrText.push('<div class="consume-whole">');
            arrText.push('<h3>' + t.title + '</h3>');
            if (t.coupon_type == 1 ) {
              arrText.push('<p>金额:¥' + t.amount + '</p>');
            } else {
              arrText.push('<p>优惠:' + t.amount + '</p>');
            }
            arrText.push('<p><span class="hx-user">用户:s账户飒飒是是是啊啊12' + t.user_name +'</span>' + '<span>核销时间:' + t.use_time + '</span></p>');
            arrText.push('</div>');
          }
          discount.html(arrText.join(''));
        };
        var ajax_getting = false; 
        $(window).scroll(function() {
          clearTimeout(timer2);
          timer2 = setTimeout(function() {
            var scrollTop = $(document.body).scrollTop();
            var scrollHeight = $('body').height();

            var windowHeight = innerHeight;
            var scrollWhole = Math.max(scrollHeight - scrollTop - windowHeight);
            if (scrollWhole < 100) {
              if (ajax_getting) {
                return false;
              } else {
                ajax_getting = true;
              }
              discount.append('<div class="load"><img src="/lightapp/static/zhida-yunying/img/load.gif" width="6%" /></div>');
              $('html,body').scrollTop($(window).height() + $(document).height());
              page++;
              $.ajax({
                url: '/lightapp/marketing/verify/apply/list?page=' + page,
                type: 'GET',
                dataType: 'json',
                success: function (data) {
                  if (data.error_code === 0) {
                    var arrText = [];
                    for (var i = 0, t; t = data.list[i++];) {
                      arrText.push('<div class="consume-whole"><a href="/lightapp/marketing/verify/page/info?rule_id=' + t.rule_id + '&coupon_id='+ t.coupon_id +'">');
                      arrText.push('<h3>' + t.title + '</h3>');
                      if (t.coupon_type == 1 ) {
                         arrText.push('<p>金额:¥' + t.amount + '</p>');
                      } else {
                        arrText.push('<p>优惠:' + t.amount + '</p>');
                      };
                      arrText.push('<p><span class="hx-user">用户:账户飒111111111' + t.user_name +'</span>' + '<span>核销时间:' + t.use_time + '</span></p>');
                      arrText.push('</a></div>');
                    }
                    discount.append(arrText.join(''));
                    $(".load").remove();
                  } else {
                    $(".load").remove();
                    discount.append('<div class="no-data">没有更多数据。</div>');
                    $(window).unbind('scroll');
                  };
                  ajax_getting = false;
                }
              });

            };
            $(".load").remove();
          }, 200);
        });
        if (data.error_code == 156006) {
          $('.coupon').html('<div class="error"><h2>出错啦!</h2><p>原因:未登录</p></div>')
        };
        if (data.error_code == 156003) {
          $('.coupon').html('<div class="error"><h2>出错啦!</h2><p>原因:权限不足~请补充</p></div>')
        };
        if (data.error_code == 156007) {
          $('.coupon').html('<div class="error"><h2>出错啦!</h2><p>原因:服务异常</p></div>')
        };
        if (data.error_code == 511) {
          $('.coupon').html('<div class="error"><h2>出错啦!</h2><p>原因:账号未开通直达号</p></div>')
        };
        if (data.error_code == 520) {
          $('.coupon').html('<div class="stays"><span></span><p>暂无核销记录</p></div>')
        }

      },
      error: function (data) {

      }
  })
  $(window).bind("orientationchange", function() {
    $('.sliders').css('left',$(window).width() / 2 +'px');
  })
})

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
JavaScript可否多线程? 深入理解JavaScript定时机制
May 23 Javascript
一个通过script自定义属性传递配置参数的方法
Sep 15 Javascript
jQuery中:animated选择器用法实例
Dec 29 Javascript
jquery实现动静态条形统计图
Aug 17 Javascript
jquery实现叠层3D文字特效代码分享
Aug 21 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
js分页之前端代码实现和请求处理
Aug 04 Javascript
详解vue渲染函数render的使用
Dec 12 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
Javascript实现字数统计
Jul 03 #Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 #Javascript
jQuery中 delegate使用的问题
Jul 03 #Javascript
JavaScript实现select添加option
Jul 03 #Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 #Javascript
Javascript中的作用域和上下文深入理解
Jul 03 #Javascript
JavaScript访问字符串中单个字符的两种方法
Jul 03 #Javascript
You might like
PHP5/ZendEngine2的改进
2006/10/09 PHP
用 PHP5 轻松解析 XML
2006/12/04 PHP
php 常用字符串函数总结
2008/03/15 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python通过索引遍历列表的方法
2015/05/04 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
Django 登陆验证码和中间件的实现
2018/08/17 Python
Python实现多线程的两种方式分析
2018/08/29 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
如何设置Java的运行环境
2013/04/05 面试题
高中生的学习总结自我鉴定
2013/10/26 职场文书
企业口号大全
2014/06/12 职场文书
公司租车协议书
2015/01/29 职场文书
表扬信格式模板
2015/05/05 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏