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 插件 任意位置浮动固定层
Dec 25 Javascript
javascript FormatNumber函数实现方法
Dec 30 Javascript
javascript 兼容鼠标滚轮事件
Apr 07 Javascript
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
Feb 14 Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 Javascript
JS实现图片预览的两种方式
Jun 27 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
微信小程序前端promise封装代码实例
Aug 24 Javascript
Vue自定义铃声提示音组件的实现
Jan 22 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
详解PHP中的PDO类
2015/07/06 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
Javascript 圆角div的实现代码
2009/10/15 Javascript
UserData用法总结 lanyu出品
2010/07/01 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
Python之eval()函数危险性浅析
2014/07/03 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
产品销售员岗位职责
2013/12/18 职场文书
大学活动策划书范文
2014/01/10 职场文书
个人求职信格式范文
2015/03/20 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL