JS+PHP瀑布流效果(二)
<!-- 加载商品 -->
<script>
//用户拖动滚动条,达到底部时ajax加载一次数据
var loading = $("#loading").data("on", false);//通过给loading这个div增加属性on,来判断执行一次ajax请求
load=$("#loading").data("on");
arr=new Array();
$(window).scroll(function(){
if(load){
return;
}
var scrollTop=$(document).scrollTop();
var height=$(document).height()-$(window).height()-Math.random();
if(scrollTop > height){
$('.loading').css('display','block');
//加载更多数据
$("#loading").data("on", false);
loading.data("on", true).fadeIn(); //在这里将on设为true来阻止继续的ajax请求
//开始获取数据信息
var num = $('#main li').length;
var res=$.inArray(num,arr)
if(res==-1){
arr.push(num)
var newArr=unique(arr)
// console.log(arr)
var lastNum=newArr.pop()
jsonajax(lastNum);
}
}else{
loading.data("on", false).fadeIn();
}
})
function unique(arr) {
var result = [], hash = {};
for (var i = 0, elem; (elem = arr[i]) != null; i++) {
if (!hash[elem]) {
result.push(elem);
hash[elem] = true;
}
}
return result;
}
function jsonajax(num){
// //开始获取数据信息
var data={num:num,where:'{$where}'};
$.ajax({
url:"{:U('Productlist/more')}",
type:'POST',
data:data,
dataType:'json',
success:function(json){
l=json.length;
// 由于是json数据,这里判定是否有数据信息
if(typeof json == 'object' && l>0){
var neirou,row,iheight,temp_h,html;//定义变量
var slist='<?php echo $slist["price"];?>';
for(var i=0;i<l;i++){
//将获得的json数据遍历
info = json[i];
// console.log(slist);
if(slist==''){
var price=info.purchase_price/(1-(info.rate_profit/100));
}else{
var slistfloat = parseFloat(slist);
var price=info.purchase_price/(1-(info.rate_profit/100));
price=slistfloat*price;
}
price=price.toFixed(2)
html = '<li class="iw-g-fore"><a href=""><div class="iw-g-fore-img"><a href="__APP__/Home/Product/detail/id/'+info.id+'"><img src="'+info.filepath+'_200x200.png" alt="产品图" /></a></div><div class="iw-g-fore-intro"><div><a href="__APP__/Home/Product/detail/id/{$product.id}"><h5>'+info.name+'</h5></a></div><div class="iw-good-price"><h6>'+price+'</h6><p>起订<i>'+info.moq+'</i></p></div></div></a></li>';
item = $(html).hide();// 这句话可以不要,因为这句话是将需要附加的html隐藏掉,以便可以附加下面的瀑布效果,如果不要这句话,下面的item修改成html即可
$("#main").append(html);//附加
item.fadeIn(1000);//产生渐现效果
}
}else{
$('.loading').html('没有更多了~~~');
}
}
});
}
</script>
最新文章
- 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
- ASP.NET 导出数据表格
- 练习题(登陆-进度条-微信接口判断qq-微信接口判断列车时刻表-)
- Ubuntu Terminal Shortcut
- ruby基础语法
- Android Listview 性能优化
- (转载)selenium-webdriver(python)
- Winform开发的界面处理优化
- 手机端js实现滑块推动
- 基于jQuery的图片相册滑出放大插件
- Code Forces 711C Coloring Trees
- python文件操作精髓
- c#基础练习之if结构
- openstack私有云布署实践【10.2 计算nova - controller节点配置(办公网环境)】
- selenium 之 ActionChains (二)
- 利用回调实现Java的异步调用
- ARP协议与ARP攻击入门
- Linq to Object原理
- Linux 添加新用户账号并赋予root权限
热门文章
- Atitit. &#160;Js 冒泡事件阻止&#160;事件捕获&#160;&#160;&#160;事件传递 &#160;事件代理
- Blocking &; Nonblocking module
- java中的参数传递——值传递、引用传递
- java - day09 - summerize
- oracle命令登录数据库
- neocomplcache 自动补全
- JavaScript 代码块
- 安装VC6.0遇到的问题
- 第一篇:尽量多的以 const/enum/inline 替代 #define
- 实现 iPhone 电子书的分页显示功能的代码