用$.getJSON() 和$.post()获取第三方数据做页面 ——惠品折页面(1)
用$.getJSON() 和$.post()获取第三方数据做页面
首页 index.html 页面
需要jquery 和 template-web js文件 可以直接在官网下载

中间导航条的固定

可以在导航添加一个动态class值 class值 的css样式 position :fixed ;
$(document).ready(function() {
var $window = $(window),
$mainMenuBar = $('#mainMenuBar'),
$mainMenuBarAnchor = $('#mainMenuBarAnchor');
$window.scroll(function() {
var window_top = $window.scrollTop();
var div_top = $mainMenuBarAnchor.offset().top;
if (window_top > div_top) {
$mainMenuBar.addClass('stick');
$mainMenuBarAnchor.height($mainMenuBar.height());
} else {
$mainMenuBar.removeClass('stick');
$mainMenuBarAnchor.height(0);
}
});
});
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="index.css"> <title>惠品折首页</title> </head> <body> <header> <div id="top"> <img src="http://m.huipinzhe.com/static/img/logo.jpg" alt="logo"> <input type="text"> <a href="category.html" target="_self"><img src="./images/menu.png" alt="search"></a> </div> </header> <img id="banner" src="http://huipinzhe-img-03.b0.upaiyun.com/banner1009/梁荷750.png" alt=""> <img id="banner1" src="./images/banner.png" alt=""> <div id="mainMenuBarAnchor"></div> <div id="mainMenuBar"> <ul id="ul"> </ul> </div> <div id="bottom"> <a href="index.html"><img src="images/home.png" alt=""></a> <a href="specialList.html"><img src="images/juan.png" alt=""></a> <a href="find.html"><img src="images/miao.png" alt=""></a> <a><img src="images/my.png" alt=""> </a> </div> <section id="container"><section> <script id="goods" type="text/html"> {{each rows good }} {{if good.itemType=="TIANMAO"}} <div class="good"> <img src=" {{good.image}}"> <div> <p><span>天猫</span>{{good.title}}</p> <p class="zi">活动价¥{{good.phoneActivityPrice}} </p> <p class="tu"><div>{{good.originPrice}}</div><div>立即抢购</div></p> </div> </div> {{else if good.itemType=="TAOBAO"}} <div class="good"> <img src=" {{good.image}}"> <div> <p><span>淘宝</span>{{good.title}}</p> <p class="zi">活动价¥{{good.phoneActivityPrice}} </p> <p class="tu"><div>{{good.originPrice}}</div><div>立即抢购</div></p> </div> </div> {{/if}} {{/each}} </script> <script src="jquery.js"></script> <script src="template-web.js"></script> <script src="index.js"></script> </body> </html>
首页css 样式 index.css
*{ box-sizing: border-box; } html{ height: 100%; } body{ height: 100%; margin: 0; padding: 0; background-color: gainsboro; } header{ background-color: white; height: 8%; position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 0 10px gainsboro; z-index: 100; } #top{ display: flex; align-items: center; height: 100%; /* background-color: red; */ position: relative; } #top >img:nth-child(1){ width: 140px; margin-left: 20px; } #bottom{ position: fixed; bottom: 0px; z-index:100; width: 100%; height: 8%; background-color: white; display: flex; justify-content: space-around; } #bottom>a{ display: inline-block; height: 100%; } #bottom>a>img{ display: inline-block; height: 100%; } #top>input{ margin-left: 30px; border-color: gainsboro; background-color: gainsboro; height: 60%; width:70%; border:none; border-radius: 35px; } #top>img:nth-child(3){ width:80px; height: 80%; position: absolute; right: 10px; } #banner{ /* display: block; */ margin-top: 13% ; width: 100%; margin-bottom: 15px; } #banner1{ /* margin-top: 13%; */ width: 100%; } #ul>li:first-child{ color:red; border-bottom: 2px solid red; } #ul >li{ list-style: none; display:inline-block; color:black; margin-left:50px; font-size:30px; font-weight:100; line-height: 80px; } #mainMenuBar{ width:100%; white-space:nowrap ; overflow-x: scroll; background-color: white; z-index:100; } .stick { border-top: 8px solid gainsboro; margin-top: 13.5% ; position:fixed; top:0; } #container{ height: 100%; width:100%; overflow: scroll; } .good{ width:100%; font-size: 30px; background-color: white; padding-top:15px; margin-bottom: 30px; } .good >img{ width: 40%; display: inline-block; } .good>div{ display: inline-block; width: 55%; }
首页js文件 index.js
$.getJSON('http://m.huipinzhe.com/h5/home/gethomepage',function(data){
console.log(data);
$('#banner').attr('src',data.data.HomeModelList[0].rows[0].image);
var labels=data.data.labels;
console.log(labels);
for(var i=0;i<labels.length;i++){
$('#ul').append('<li class="'+labels[i].id+'">'+labels[i].label+'</li>');
}
$(document).ready(function() {
var $window = $(window),
$mainMenuBar = $('#mainMenuBar'),
$mainMenuBarAnchor = $('#mainMenuBarAnchor');
$window.scroll(function() {
var window_top = $window.scrollTop();
var div_top = $mainMenuBarAnchor.offset().top;
if (window_top > div_top) {
$mainMenuBar.addClass('stick');
$mainMenuBarAnchor.height($mainMenuBar.height());
} else {
$mainMenuBar.removeClass('stick');
$mainMenuBarAnchor.height(0);
}
});
});
//初始值
//商品列表初始
clickTurn(-1);
//导航鼠标的点击事件
$('#ul>li').click(function(){
$(this).css({
color:'red',
'border-bottom': '2px solid red',
}).siblings().css({
color:'black',
'border-bottom':'none',
});
var labelId=$(this).attr('class');
//清空container中的内容 添加新的内容
// $('#container').empty();
clickTurn(labelId);
});
});
/* 推荐商品列表 */
function clickTurn(labelId){
var page=0;
var isFinsh;
function getDataByPageNumber(){
isFinsh=false;
page++;
if(page>12){
alert('已经加载完毕');
return;
}
$.post('http://m.huipinzhe.com/h5/home/gethomepage',{labelId : labelId ,pageNum : page},function(data){
console.log(data.data.onlineData);
var data=data.data.onlineData;
var html=template('goods',data);
$('#container').html(html);
isFinsh=true;
});
}
getDataByPageNumber();
$('#container').scroll(function(event){
console.log("滚动");
if(event.target.scrollTop+event.target.clientHeight>event.target.scrollHeight-10){
console.log('获取下一页数据');
if(isFinsh){
getDataByPageNumber();
}
}
});
}

浙公网安备 33010602011771号