ajax 无刷新下拉加载更多。

随着互联网时代的发展,web前端已经和后台数据挂钩,作为web前端仅仅不是只切图写写html,css  和简单js交互。

js  code

  1 $(function() {
  2     var page = 1;
  3     var discount = $(‘#discount‘);
  4     var innerHeight = window.innerHeight;
  5     var timer2 = null;
  6     $.ajax({
  7         url: ‘/lightapp/marketing/verify/apply/list?page=1‘,
  8         type: ‘GET‘,
  9         dataType: ‘json‘,
 10         timeout: ‘1000‘,
 11         cache: ‘false‘,
 12         success: function (data) {
 13                 if (data.error_code === 0) {
 14                     var arrText = [];
 15                     for (var i = 0, t; t = data.list[i++];) {
 16                         arrText.push(‘<div class="consume-whole">‘);
 17                         arrText.push(‘<h3>‘ + t.title + ‘</h3>‘);
 18                         if (t.coupon_type == 1 ) {
 19                             arrText.push(‘<p>金额:¥‘ + t.amount + ‘</p>‘);
 20                         } else {
 21                             arrText.push(‘<p>优惠:‘ + t.amount + ‘</p>‘);
 22                         }
 23                         arrText.push(‘<p><span class="hx-user">用户:s账户飒飒是是是啊啊12‘ + t.user_name +‘</span>‘ + ‘<span>核销时间:‘ + t.use_time + ‘</span></p>‘);
 24                         arrText.push(‘</div>‘);
 25                     }
 26                     discount.html(arrText.join(‘‘));
 27                 };
 28                 var ajax_getting = false; 
 29                 $(window).scroll(function() {
 30                     clearTimeout(timer2);
 31                     timer2 = setTimeout(function() {
 32                         var scrollTop = $(document.body).scrollTop();  
 33                         var scrollHeight = $(‘body‘).height();  
 34                         var windowHeight = innerHeight;
 35                         var scrollWhole = Math.max(scrollHeight - scrollTop - windowHeight);
 36                         if (scrollWhole < 100) {
 37                             if (ajax_getting) {
 38                                 return false;
 39                             } else {
 40                                 ajax_getting = true;
 41                             }
 42                             discount.append(‘<div class="load"><img src="/lightapp/static/zhida-yunying/img/load.gif" width="6%" /></div>‘);
 43                             $(‘html,body‘).scrollTop($(window).height() + $(document).height());
 44                             page++;
 45                             $.ajax({
 46                                 url: ‘/lightapp/marketing/verify/apply/list?page=‘ + page,
 47                                 type: ‘GET‘,
 48                                 dataType: ‘json‘,
 49                                 success: function (data) {
 50                                     if (data.error_code === 0) {
 51                                         var arrText = [];
 52                                         for (var i = 0, t; t = data.list[i++];) {
 53                                             arrText.push(‘<div class="consume-whole"><a href="/lightapp/marketing/verify/page/info?rule_id=‘ + t.rule_id + ‘&coupon_id=‘+ t.coupon_id +‘">‘);
 54                                             arrText.push(‘<h3>‘ + t.title + ‘</h3>‘);
 55                                             if (t.coupon_type == 1 ) {
 56                                                  arrText.push(‘<p>金额:¥‘ + t.amount + ‘</p>‘);
 57                                             } else {
 58                                                 arrText.push(‘<p>优惠:‘ + t.amount + ‘</p>‘);
 59                                             };
 60                                             arrText.push(‘<p><span class="hx-user">用户:账户飒111111111‘ + t.user_name +‘</span>‘ + ‘<span>核销时间:‘ + t.use_time + ‘</span></p>‘);
 61                                             arrText.push(‘</a></div>‘);
 62                                         }
 63                                         discount.append(arrText.join(‘‘));
 64                                         $(".load").remove();
 65                                     } else {
 66                                         $(".load").remove();
 67                                         discount.append(‘<div class="no-data">没有更多数据。</div>‘);
 68                                         $(window).unbind(‘scroll‘);
 69                                     };
 70                                     ajax_getting = false;
 71                                 }
 72                             });  
 73                         };
 74                         $(".load").remove();
 75                     }, 200);
 76                 });
 77                 if (data.error_code == 156006) {
 78                     $(‘.coupon‘).html(‘<div class="error"><h2>出错啦!</h2><p>原因:未登录</p></div>‘)
 79                 };
 80                 if (data.error_code == 156003) {
 81                     $(‘.coupon‘).html(‘<div class="error"><h2>出错啦!</h2><p>原因:权限不足~请补充</p></div>‘)
 82                 };
 83                 if (data.error_code == 156007) {
 84                     $(‘.coupon‘).html(‘<div class="error"><h2>出错啦!</h2><p>原因:服务异常</p></div>‘)
 85                 };
 86                 if (data.error_code == 511) {
 87                     $(‘.coupon‘).html(‘<div class="error"><h2>出错啦!</h2><p>原因:账号未开通直达号</p></div>‘)
 88                 };
 89                 if (data.error_code == 520) {
 90                     $(‘.coupon‘).html(‘<div class="stays"><span></span><p>暂无核销记录</p></div>‘)
 91                 }
 92
 93             },
 94             error: function (data) {
 95
 96             }
 97     })
 98     $(window).bind("orientationchange", function() {
 99         $(‘.sliders‘).css(‘left‘,$(window).width() / 2 +‘px‘);
100     })
101 })

推荐个前端群:群名称:html5/css3/js/jq/nodejs/div 群号:339840649  欢迎加入 一起交流。

时间: 2024-12-24 23:43:39

ajax 无刷新下拉加载更多。的相关文章

JQuery实现无刷新下拉加载图片

      最近做的一个项目需要做页面无刷新下拉加载图片,调研了一番,大多都采用检测滚动条达到底部,然后利用ajax加载下一页数据对页面数据进行添加,根据这一逻辑,自己写了一个,具体代码如下: JQuery写下拉触发ajax事件 $(window).scroll(function () { if($(window).scrollTop()==($(document).height()-$(window).height()))//判断右边滑动条是否滑到最下 { $.ajax({ url:"&quo

安卓,采用最简单易懂的方式实现上拉刷新下拉加载更多

<!-- Description:上拉刷新,下拉加载更多是现在最流行的手势操作,但是对于初学者来说,在实现上是有一定难度的, 网上很多教程讲的都过于复杂,对于初学者无法起到引导作用,特此写本文,帮助安卓新手入门理解此, 还有最为重要的一点:本文只帮助你理解,并不是想你成为代码搬运工!别被那么多代码吓到了, 其中很多都是注释,仔细看注释对你理解有很大的帮助 Author:Booker L Date:2014-05-16 --> 一,事先准备: 实现该功能,最基本的需要两个东西,一个是OnTouc

jQuery手机端上拉刷新下拉加载更多页面

<!doctype html> <html> <head> <title>jquery 手机端上拉刷新下拉加载更多页面</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="viewpost" content="width=device-wi

Android MVP设计框架模板 之 漂亮ListView上拉刷新下拉加载更多

mvp的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理.MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller. 项目中大部分是面对接口编程,通过P层可以预先将所有需要的接口功能

react-native ListView 封装 实现 下拉刷新/上拉加载更多

1.PageListView 组件封装 src/components/PageListView/index.js /** * 上拉刷新/下拉加载更多 组件 */ import React, { Component } from 'react'; import { Text, View, ListView, FlatList, Dimensions, PanResponder, Animated, Easing, ActivityIndicator, } from 'react-native';

iscroll.js实现上拉刷新,下拉加载更多,应用技巧项目实战

上拉刷新,下拉加载更多...仿原生的效果----iscroll是一款做滚动效果的插件,具体介绍我就不废话,看官方文档,我只写下我项目开发的一些用到的用法: (如果不好使,调试你的css,想必是个很蛋疼的问题,给点提示 :#wrapper,以及#scroller-content要注意) html如下: <div class="viewport"> <div id="wrapper" class="wrapper"> <

android 下拉刷新上拉加载更多,高仿ios左滑动删除item,解决了众多手势问题

一.前言 老规矩,别的不说,这demo是找了很相关知识集合而成的,可以说对我这种小白来说是绞尽脑汁!程序员讲的是无图无真相!现在大家一睹为快! 二.比较关键的还是scroller这个类的 package com.icq.slideview.view; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; i

Android实现下拉刷新和上拉加载更多的RecyclerView和ScrollView

PullRefreshRecyclerView.java /** * 类说明:下拉刷新上拉加载更多的RecyclerView * Author: gaobaiq * Date: 2016/5/9 18:09 */ public class PullRefreshRecyclerView extends PullRefreshView { /** * 内置的RecyclerView: */ private RecyclerView mRecyclerView; /** * 可见的最后一个item

如何制作带有下拉刷新和下拉加载更多的列表

一般的APP软件都是需要下拉刷新,下拉加载这两个功能的,今天我们就来学习怎么样实现这两个功能. 我们先来讲一下他们的原理,这里我们将采取的方案是使用组合View的方式,先自定义一个布局继承自LinearLayout,然后在这个布局中加入下拉头和ListView这两个子元素,并让这两个子元素纵向排列.初始化的时候,让下拉头向上偏移出屏幕,这样我们看到的就只有ListView了.然后对ListView的touch事件进行监听,如果当前ListView已经滚动到顶部并且手指还在向下拉的话,那就将下拉头