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 相关文章推荐
利用location.hash实现跨域iframe自适应
May 04 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
Nov 22 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
Apr 10 Javascript
浅谈javascript获取元素transform参数
Jul 24 Javascript
jquery动态增加删减表格行特效
Nov 20 Javascript
JavaScript表单验证完美代码
Mar 02 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
Vue多系统切换实现方案
Jun 05 Javascript
Vue实现自定义下拉菜单功能
Jul 16 Javascript
AJAX在JQuery中的应用详解
Jan 30 jQuery
原生js实现密码强度验证功能
Mar 18 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
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 $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
python测试驱动开发实例
2014/10/08 Python
python实现批量修改文件名代码
2017/09/10 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
PHP如何设置和取得Cookie值
2015/06/30 面试题
销售类个人求职信范文
2013/09/25 职场文书
企业年会主持词
2014/03/27 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
入党介绍人意见2015
2015/06/01 职场文书
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL