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实现可拖动变色并关闭层窗口实例
May 15 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
JS实现简单短信验证码界面
Aug 07 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
Vue.js 踩坑记之双向绑定
May 03 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
element-ui 限制日期选择的方法(datepicker)
May 16 Javascript
js canvas实现五子棋小游戏
Jan 22 Javascript
JS 基本概念详细介绍
Oct 16 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
PHP获取url的函数代码
2011/08/02 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
srcElement表格样式
2006/09/03 Javascript
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
js计时事件实现圆形时钟
2020/03/25 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
Python rstrip()方法实例详解
2018/11/11 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
毕业生找工作的自我评价
2013/10/18 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
委托公证书样本
2015/01/23 职场文书
办公室主任个人总结
2015/02/28 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
解析MySQL binlog
2021/06/11 MySQL
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
MySQL 数据 data 基本操作
2022/05/04 MySQL