效果图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>jdvvv女装</title>
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
<link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<header>
<div class="container-fluid p0">
<form>
<div class="row">
<div class="back col-xs-2 text-center"><i class="fa fa-chevron-left"></i></div>
<div class="form-group col-xs-8 search">
<input type="text" class="form-control" id="exampleInputEmail1" placeholder="女装">
</div>
<div class="menu col-xs-2"><i class="fa fa-align-left"></i></div>
</div>
</form>
</div>
<ul class="nav hide">
<li class="col-xs-3 text-center"><a href="#"><i class="fa fa-home"></i><span>首页</span></a></li>
<li class="col-xs-3 text-center"><a href="#"><i class="fa fa-search"></i><span>分类搜索</span></a></li>
<li class="col-xs-3 text-center"><a href="#"><i class="fa fa-shopping-cart"></i><span>购物车</span></a></li>
<li class="col-xs-3 text-center"><a href="#"><i class="fa fa-user"></i><span>我的京东</span></a></li>
</ul>
</header>
<div class="container p0">
<ul class="product-list">
<!--<li class="col-xs-6">
<a href="http://www.dongnaoedo.com">
<div class="img-content">
![](images/01.jpg)
</div>
<div class="text-content p15">
<p>我就京东的异步加载</p>
</div>
<div class="price-content p15">
<span>¥</span>
<strong>58.99</strong>
</div>
<div id="" class="comment-content p15">
<small>ssss</small>
<span>条评论</span>
</div>
</a>
</li>-->
<!--
<li class="col-xs-6">
<a href="http://www.dongnaoedo.com">
<div class="img-content">
![](images/01.jpg)
</div>
<div class="text-content p15">
<p>我就京东的异步加载</p>
</div>
<div class="price-content p15">
<span>¥</span>
<strong>58.99</strong>
</div>
<div id="" class="comment-content p15">
<small>ssss</small>
<span>条评论</span>
</div>
</a>
</li>
-->
</ul>
</div>
<div class="loading hide"><i class="fa fa-spinner fa-spin"></i></div>
<div class="back-top hide"><i class="fa fa-chevron-up"></i></div>
<script src="js/zepto.js"></script>
<!--<script src="js/jquery.min.js"></script>-->
<script src="js/index.js"></script>
</body>
</html>
/* reset */
html,
body {
width: 100vw;
min-width: 320px;
max-width: 640px;
}
body {
font-family: "Microsoft Yahei";
background: #f0f0f0;
}
body,
p,
ul,
li {
margin: 0;
padding: 0;
}
ul,
li {
list-style: none;
}
a {
text-decoration: none;
color: #666;
}
/* common */
.p0 {
padding: 0;
}
.pl5 {
padding-left: 5px;
}
.mt10 {
margin-top: 10px;
}
/* header */
header {
position: fixed;
z-index: 999;
border-bottom: 1px solid #ccc;
width: 100%;
height: 57px;
background: #f0f0f0;
}
header .search {
margin-top: 6px;
}
header .back i,
header .menu i {
font-size: 20px;
line-height: 57px;
color: #d4d4d4;
}
header .nav {
background: #444;
}
.nav > li > a:hover,
.nav > li > a:focus {
background-color: #666;
}
header .nav li {
padding: 0;
}
header .nav li a {
font-size: 12px;
color: #fff;
}
header .nav i {
font-size: 24px;
}
header .nav span {
display: block;
}
/* container */
.container {
padding-top: 57px;
}
.container .product-list {
overflow: hidden;
}
.container .product-list li {
padding-right: 2px;
padding-left: 0;
}
.container .product-list li:nth-child(2n) {
padding-right: 0;
padding-left: 2px;
}
.container .product-list li a {
display: block;
background: #fff;
}
.container .product-list .img-content img {
width: 100%;
}
.container .product-list .text-content p {
overflow: hidden;
font-size: 16px;
white-space: nowrap;
text-overflow: ellipsis;
color: #444;
}
.container .product-list .price-content {
padding: 5px 0;
color: #f00;
font-szie: 18px;
}
.container .product-list .comment-content {
padding-bottom: 10px;
color: #999;
font-szie: 12px;
}
/* loading */
.loading {
position: fixed;
bottom: 0;
z-index: 99;
padding: 20px 0;
width: 100%;
font-size: 30px;
text-align: center;
color: #fff;
background: rgba(0, 0, 0, .3);
}
/* back-top */
.back-top {
position: fixed;
right: 10px;
bottom: 40px;
z-index: 999;
border: 1px solid #999;
border-radius: 50%;
width: 40px;
height: 40px;
font-size: 12px;
line-height: 30px;
text-align: center;
color: #999;
background: #ccc;
opacity: .6;
}
js
$(function(){
var num=0;
var $list=$('.product-list');
// console.log($list.html())
// 导航栏的隐藏显示效果
$('header .menu').click(function(){
$('header .nav').toggleClass('hide')
})
$('.back-top').click(function(){
// alert("22")
// $('window').animate({"scrollTop()":0},500);
// $('body,html').animate({scrollTop:0},800); jq生效
//$('').animate({"scrollTop":0},500);
$(window).scrollTop(0);
})
//左边的2个小按钮
$(window).on('scroll',function(){
if($(window).scrollTop()>300){
// $(this).animate({"scrollTop":"0"},500);
$('header').addClass("hide");
$('.back-top').removeClass('hide');
}else{
$('header').removeClass("hide");
$('.back-top').addClass('hide');
}
//滚动条的高度=文档的高度-可是区域的高度
if($(window).scrollTop()>=$(document).height()-$(window).height()){
// var sf=$('.product-list').find("li").length;
// console.log(sf+"Aaa")
if(++num<9){
loaddata($list,num);
}else{
// console.log("到底部了"+sf.length)
console.log("到底部了"+$('.product-list').find("li").length);
}
}
})
//等待图片
// 异步加载数据
loaddata($list,num);
function loaddata($list,num){
$('.loading').removeClass("hide");
$.ajax({
url:"json_data/data-"+num+".json",
success:function(data){
//console.log(data)
var str='';
$.each(data, function(i,item){
str+=[
'<li class="col-xs-6">',
'<a href="'+item.URL+'">',
'<div class="img-content">',
'![](images/'+item.imageUrl+')',
'</div>',
'<div class="text-content p15">',
'<p>'+item.productText+'</p>',
'</div>',
'<div class="price-content p15">',
'<span>¥</span>',
'<strong>'+item.productPrice+'</strong>',
'</div>',
'<div id="" class="comment-content p15">',
'<small>ssss</small>',
'<span>'+item.productEvaluate+'</span>',
'</div>',
'</a>',
'</li>',
].join('');
});
// console.log(str);
$list.append(str);
setTimeout(function(){
$('.loading').addClass("hide");
},500)
},
error:function(){
alert("数据出错了")
}
})
}
})
//02
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页列表</title>
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="black" name="apple-mobile-web-app-status-bar-style" />
<meta content="telephone=no" name="format-detection" />
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<!--mms-->
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
</head>
<body>
<style>
/*列表页*/
.m19-view-dvul{width: 100%; height: auto; overflow: hidden;}
.m19-view-ul{width: 7.3rem; margin: 0 auto;}
.m19-view-ul li{width: 3.6rem; height: 4.65rem; margin-right: 0.1rem; margin-bottom: 0.1rem; float: left; background: #FFFFFF; overflow: hidden; }
.m19-view-ul li:nth-child(2n){margin-right: 0;}
.m19-view-ul li a{display: block; width: 3.3rem; margin: 0 auto; height: 4.65rem;}
.m19-view-ul li a img{width: 3.3rem; height: 3.3rem; display: block; margin-top: 0.15rem;}
.m19-view-ul-dv{margin-top: 0.22rem; width: 3.6rem ; text-align: center; }
.m19-view-ul-dv h4{width: 3.6rem ; margin-bottom: 0.08rem; text-align: center; font-size: 0.24rem; color: #4a4a4a; height: 0.34rem; line-height: 0.34rem;}
.m19-view-ul-dv p{color: #FF2658; font-size: 0.22rem;}
.m19-view-lie:after { height: 0.4rem; }
</style>
<div class="g-view m19-view-lie">
<div class="m19-view-dvul">
<img src="../xiaot.gif" class="tyuhei loading" style=" position: fixed; top: 0; left: 0; width: 100%; height: 1rem;"/>
<ul class="m19-view-ul"></ul>
</div>
<style>
.tyuhei{display: none; }
</style>
</div>
<style> body{background-color: #F1F1F1;} </style>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery-2.2.4.min.js"></script>
<!-- 引入YDUI脚本===-->
<script src="../js/ydui.js"></script>
<!--mms-->
<script type="text/javascript" src="../js/mms.js" ></script>
<script type="text/javascript" >
$(function () {
/*************01******************/
var num=1;
var $list=$('.m19-view-ul');
$(window).on('scroll',function(){
if( $(window).scrollTop()>= $(document).height() - $(window).height() ) {
if(++num ){
loaddata($list,num);
}else{
console.log("到底部了")
}
}
})
var sty= " http "//你的请求地址
loaddata($list,num);
function loaddata($list,num){
$('.loading').removeClass("tyuhei");
$.ajax({
async : true,
url : "sty"+num,
type : "GET",
dataType : "jsonp", // 返回的数据类型,设置为JSONP方式
jsonp : 'callback', //指定一个查询参数名称来覆盖默认的 jsonp 回调参数名 callback
jsonpCallback: 'handleResponse', //设置回调函数名
// data : {
// status : 1
// },
success: function(response, status, xhr){
var str='';
$.each(response.result, function(i,item) {
str+=[
'<li>',
'<a href="#">',
'<img src="../img/inzlw.jpg" alt="" class="lazy" tyu="'+item.goods_id+'" data-url="../img/m18_banner1.png" />',
'<div class="m19-view-ul-dv">',
'<h4 class="ds-dan">'+item.goods_name+'</h4>',
'<p>',
'<span>¥</span>',
'<span>'+item.shop_price+'</span>',
'<span>-</span>',
'<span>'+item.cat_id+'</span>',
'</p>',
'</div>',
'</a>',
'</li>',
].join('')
});
$list.append(str)
setTimeout(function(){
$('.loading').addClass("tyuhei");
},500)
},
error:function(){
alert("数据出错了")
}
});
}
/*************02******************/
});
</script>
</body>
</html>