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 相关文章推荐
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
EditPlus注册码生成器(js代码实现)
Mar 25 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
Aug 29 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
Aug 30 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
Mar 02 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
May 17 Javascript
mongoose中利用populate处理嵌套的方法
May 26 Javascript
Vue2.0父子组件传递函数的教程详解
Oct 16 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 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内存管理之谁动了我的内存
2013/06/20 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php自动载入类用法实例分析
2016/06/24 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
python查找第k小元素代码分享
2013/12/18 Python
简述Python中的进程、线程、协程
2016/03/18 Python
Python3 socket同步通信简单示例
2017/06/07 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
高效使用Python字典的清单
2018/04/04 Python
python实现最长公共子序列
2018/05/22 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
保荐人的岗位职责
2013/11/19 职场文书
小松树教学反思
2014/02/11 职场文书
中秋手机店促销方案
2014/06/16 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书