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 封装Ajax传递的数据代码
Jun 05 Javascript
Javascript new关键字的玄机 以及其它
Aug 25 Javascript
JavaScript中prototype为对象添加属性的误区介绍
Oct 15 Javascript
探讨JavaScript中的Rest参数和参数默认值
Jul 29 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
详解vue-cli + webpack 多页面实例应用
Apr 25 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
Apr 27 jQuery
vue组件发布到npm简单步骤
Nov 30 Javascript
Angular脚手架开发的实现步骤
Apr 09 Javascript
JS实现分页导航效果
Feb 19 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 Javascript
JavaScript 实现继承的几种方式
Feb 19 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
php判断一个数组是否为有序的方法
2015/03/27 PHP
php实现的mongodb操作类
2015/05/28 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
js变量提升深入理解
2016/09/16 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
微信小程序实现多选功能
2018/11/04 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python Requests安装与简单运用
2016/04/07 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
python 调整图片亮度的示例
2020/12/03 Python
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
销售副总经理岗位职责
2013/12/11 职场文书
教师自我鉴定
2013/12/13 职场文书
我的求职计划书
2014/01/10 职场文书
初中语文教学反思
2014/02/02 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
采购员岗位职责范本
2015/04/07 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers
Oracle中DBLink的详细介绍
2022/04/29 Oracle