html  代码  一开始是需要显示的第一页

<div class="hot-product f15 fixed-Width clearfix" id="goods2">
<volist name="goods" id="goods_vo">
<div class="item2">
<div class="H_shangpin" style="background: url('{$goods_vo['banner'][0]}') no-repeat center ;background-size: contain"></div>
<div class="item3">
<p class="H_xianzhi">【{$goods_vo['fenlei']}】{$goods_vo['title']}</p>
<p class="color-red">
<span>¥{$goods_vo['pay']}</span>
<i class="color-b5 h_commodity fr"><del>¥{$goods_vo['yuan_pay']}</del></i>
</p>
<div class="clearfix shangpinming">
<p class="color-b5 h_commodity fl"><span>{$goods_vo['weizhi']}</span><span>{$goods_vo['shang_name']}</span></p>
<p class="fr color-b5 h_commodity ">{$goods_vo['time']}</p>
</div>
</div>
</div>
</volist>
</div>

自动监听下拉,当往下拉的时候就开始访问你指定的控制器

/*下拉分页*/
var nextp = "{$nextp}";//第几页
var oknext = 1;//加载开关
$(window).scroll(function () {
var di = $(window).scrollTop();//获取当前滚动条的位置
var ph = $(window).height();//当前窗口高度
di = di + ph;//最高拉到多少
var h = $(document).height();//允许多长滚动条
if (h - di < 100) {
if (nextp > 0 && oknext == 1) {
oknext = 0;
$.post("{:U('Index/goods')}", {p:nextp}, function (v) {//指定访问的控制器
if(v.index == 2){//这里我是做了一个判断,当需要一排显示两个就走if 当需要一排显示一个的时候就走else
if (v.status) {
oknext = 1;
nextp = v.nextp;
var list = v.list;
//console.log(list);
var html = '';
for (var i = 0; i < list.length; i++) {
html +='<div class="item2">'+
'<div class="H_shangpin" style="background: url('+list[i]['banner'][0]+') no-repeat center ;background-size: contain"></div>'+
'<div class="item3"><p class="H_xianzhi">【'+list[i]['fenlei']+'】'+list[i]['title']+'</p>'+
'<p class="color-red"><span>¥'+list[i]['pay']+'</span>'+
'<i class="color-b5 h_commodity fr"><del>¥'+list[i]['yuan_pay']+'</del></i>'+
'</p>'+
'<div class="clearfix shangpinming">'+
'<p class="color-b5 h_commodity fl"><span>'+list[i]['weizhi']+'</span><span>'+list[i]['shang_name']+'</span></p>'+
'<p class="fr color-b5 h_commodity ">'+list[i]['time']+'</p>'+
'</div>'+
'</div>'+
'</div>'; }
$("#goods2").append(html);
}
}else{
if (v.status) {
oknext = 1;
nextp = v.nextp;
var list = v.list;
var html = '';
for (var i = 0; i < list.length; i++) {
html +='<div class="clearfix H2_pad">'+
'<div class="H2_shangpin fl" style="background: url('+list[i]['banner'][0]+') no-repeat center ;background-size: cover"></div>'+
'<div class="H2_xinxi fl">'+
'<div class="H2_xianzhi">【'+list[i]['fenlei']+'】'+list[i]['title']+'</div>'+
'<div><span class="color-red">¥'+list[i]['pay']+'</span><span class="color-b5 h_commodity fr">'+list[i]['time']+'</span>'+
'</div>'+
'<div class="color-b5 h_commodity">'+
'<del>¥'+list[i]['yuan_pay']+'</del> <span class="fr"><i class="ICON-tousu h_tousu"></i>'+
'<i class="ICON-fen-LOVE '+list[i]['love']+'" data-guanzhu-id="'+list[i]['id']+',2"></i> </span>'+
'</div>'+
'</div>'+
'</div>'
}
$("#goods1").append(html);
}
} }, 'json'); } }
});

控制器方法

/*
**全部商品
**
***/
public function goods(){
$p = I('p',1);
$where['status'] = 1;
if(I('id') != 0){
$where['fenlei_id'] = I('id');
}
$this->index = M('xinxi_goods_if')->getField('index');//首页商品显示问题 单排显示1 还是双排显示2
$count = M('xinxi_goods')->where($where)->count();
$goods = M('xinxi_goods')->where($where)->field('id,title,ben_fenlei_id,uid,weizhi_id,yuan_pay,pay,banner,time,num,admin_user')->order('time DESC')->page($p,6)->select();
$nextpage=$count/6>$p?$p+1:'';
if($p == 1){//第一页的时候显示页面并显示第一个的数据
$this->nextp=$nextpage;
foreach($goods as $k=>$r){
$goods[$k]['time'] = get_date($r['time']);
$goods[$k]['banner'] = explode(',',$r['banner']);
/*商铺店名*/
if(!$r['uid']){
$goods[$k]['shang_name'] = $r['admin_user'];
}else{
$name = get_yonghu($r['uid'],'shang_name');
if(!$name){
$goods[$k]['shang_name'] = '';
}else{
$goods[$k]['shang_name'] = $name;
}
}
/*商品分类*/
$goods[$k]['fenlei'] = M('xinxi_fenlei')->where(array('id'=>$r['ben_fenlei_id']))->getField('title');
/*商城位置ID*/
$goods[$k]['weizhi'] = M('xinxi_weizhi')->where(array('id'=>$r['weizhi_id']))->getField('title');
$guanzhu_where['status'] = 1;
$guanzhu_where['shibie'] = 2;
$uid = session('uid');
if($uid != ''){
$guanzhu_where['uid'] = $uid;
$guanzhu_id = M('xinxi_guanzhu')->where($guanzhu_where)->getField('goods_user');
if($guanzhu_id == $r['id']){
$goods[$k]['love'] = 'active';
}else{
$goods[$k]['love'] = '';
}
}else{
$goods[$k]['love'] = '';
}
}
$this->assign('goods',$goods);
$this->display();
}else{
//第二页的时候就开始返回json数据
//并显示抛回这是第几页
$this->nextp=$nextpage;
foreach($goods as $k=>$r){
$goods[$k]['time'] = get_date($r['time']);
$goods[$k]['banner'] = explode(',',$r['banner']);
/*商铺店名*/
if(!$r['uid']){
$goods[$k]['shang_name'] = $r['admin_user'];
}else{
$name = get_yonghu($r['uid'],'shang_name');
if(!$name){
$goods[$k]['shang_name'] = '';
}else{
$goods[$k]['shang_name'] = $name;
}
}
/*商品分类*/
$goods[$k]['fenlei'] = M('xinxi_fenlei')->where(array('id'=>$r['ben_fenlei_id']))->getField('title');
/*商城位置ID*/
$goods[$k]['weizhi'] = M('xinxi_weizhi')->where(array('id'=>$r['weizhi_id']))->getField('title');
$guanzhu_where['status'] = 1;
$guanzhu_where['shibie'] = 2;
$uid = session('uid');
if($uid != ''){
$guanzhu_where['uid'] = $uid;
$guanzhu_id = M('xinxi_guanzhu')->where($guanzhu_where)->getField('goods_user');
if($guanzhu_id == $r['id']){
$goods[$k]['love'] = 'active';
}else{
$goods[$k]['love'] = '';
}
}else{
$goods[$k]['love'] = '';
}
}
$data['index'] = M('xinxi_goods_if')->getField('index');//首页商品显示问题 单排显示1 还是双排显示2
$data['list']=$goods;
$data['nextp']=$nextpage;
$data['status']=1;
echo json_encode($data);
}
}

juqery 下拉加载数据的更多相关文章

  1. iscroll5 上拉,下拉 加载数据

    我这里的思路是上拉时候只是加载第一页的内容,可根据实际情况修改其中的代码.请勿照搬.样式没怎么调,可以加载gif动画.1.没有数据时候,下拉可以加载数据.2.没有数据时候,点击也可以加载数据.3.其余 ...

  2. Jquery手机下拉刷新,下拉加载数据

    一.Jquery手机下拉刷新,下拉加载数据.附加有源码 <!DOCTYPE html> <html> <head> <title>手机</titl ...

  3. 关于MJRefresh的下拉加载数据bug

    当没有更多数据的时候显示NoMoreData 我的理解是先结束刷新再显示没有更多 今天之前一直没发现有问题 贴之前的代码 [self.collectionView reloadData]; [self ...

  4. web移动端下拉加载数据简单实现

    //下拉加载在移动端会经常使用,有些小伙伴不清楚一些原理下面就简答的介绍一下 //首先需要监听window的滚动事件,下拉其实就是在监听window滚动事件 var pageNum = 1;//分页第 ...

  5. 手机网站下拉加载数据js(简单版)

    加载内容的地方html <div class="bgcolor_f0 clearfix"> <div class="recharge"> ...

  6. iscroll5 版本下的 上拉,下拉 加载数据

    上拉时候只是加载第一页的内容,可根据实际情况修改其中的代码. <section id="downwraper" class="nodeBottom bot0 bgf ...

  7. php ajax 下拉加载数据

    视图 <html> <head> <title>健康知识</title> <script type="text/javascript&q ...

  8. Ajax 下拉加载数据

    $(document).scroll(function() { var pageHeight = $(document).height()-$(window).height(); var bodySc ...

  9. ASP.NET仿新浪微博下拉加载更多数据瀑布流效果

    闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前, ...

随机推荐

  1. Android:如何生成自己的keystore(zz)

    keystore不设置的话默认使用的是C:\Users\Fly\.Android下面的debug.keystore,每台电脑的都不一样,所以导致了无法安装的情况. 如何生成自己的keystore呢?这 ...

  2. MySQL在INSERT IGNORE未新增记录时避免AUTO_INCREMENT自增

    在MySQL5.7中做INSERT IGNORE时发现, 即使INSERT未成功执行, 表的自增主键却自动加1了, 在某些情况下需要避免这种行为. 需要修改的变量是 innodb_autoinc_lo ...

  3. 阿里云 nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  4. [windows+cocos2dx]文本类

    文字也是游戏最重要的元素之中的一个,以下就看看使用动态字体和静态字体库怎样创建文字.使用动态字体库创建的文字能够包括经常使用的不论什么字符,一般假设用户要输入名字,这就最好用动态字体库.由于你不知道用 ...

  5. Python装饰器用法

    在Python中,装饰器一般用来修饰函数,实现公共功能,达到代码复用的目的.在函数定义前加上@xxxx,然后函数就注入了某些行为,很神奇!然而,这只是语法糖而已. 场景 假设,有一些工作函数,用来对数 ...

  6. python 操作Sqlite

    Python sqlite 官方文档: https://docs.python.org/2/library/sqlite3.html 1. 连接 #!/usr/bin/python3 import s ...

  7. sfc /scannow命令如何能用虚拟光驱完成修复?(xp下的办法)

    我们先光盘文件或用WinRAR压缩软件将ISO文件解压缩到本地磁盘某目录下,如e:\winxp:   在ISO文件上右击,在弹出的菜单中选择“解压到”:   文件较多,久等一会解压完成后文件夹下有很多 ...

  8. bat搜集

    1. 删除文件夹下指定名称的所有子文件夹 @echo off ::设置要保留的文件夹名,多个文件夹之间用英文逗号隔开,如果包含空格或英文逗号,英文&以及其它一些特殊字符的名字,请把该完整名字用 ...

  9. SQLSERVER性能调优小技巧

    平时做个记录,在工作过程中针对大数据查询的一些小技巧 -----------SELECT------------- 1.必要的冗余字段,减少关联查询 2.关键查询字段必须加索引 否则百万级以上你就别想 ...

  10. Linux之文件系统各种符号说明

    / 根目录 唯一必须挂载的目录.不要有任何的犹豫,选一个分区,挂载它!(在绝大多数情况下,有10G的容量应该是够用了.当然了,很多东西都是多多益善的) /boot 它包含了操作系统的内核和在启动系统过 ...