goods.json文件中有两个男性产品(衬衫)和两个女性产品(连衣裙)。 打开man.html页面时,必须显示男人的衬衫,打开woman.html页面时,必须显示衣服。如何实现?(不使用jquery)要在我的代码中添加什么?
eshop.js:
df.groupby(df.index.strftime('%Y-%m')).tail(1)
goods.json:
document.addEventListener('DOMContentLoaded', function (e) {
loadGoods();
});
function loadGoods() {
$.getJSON('goods.json', function (data) {
var out = '';
for (var key in data){
out+='<div class="single-goods">';
out+='<h3>'+data[key]['name']+'</h3>';
out+='<img src="'+data[key].image+'">';
out+='<p>Price: '+data[key]['cost']+'</p>';
out+='<button class="add-to-cart" data-art="'+key+'">Buy </button>';
out+='</div>';
}
document.getElementById('goods').innerHTML = out;
document.querySelectorAll('button.add-to-cart').forEach(function(but) {
but.addEventListener("click",addToCart);
})
});
}
man.html:
{
"Shirt №1" : {
"name" : " Shirt №1",
"cost" : 1000,
"country" : "argentina",
"image" : "images/1.jpg",
"brand": "M"
},
"Shirt №2" : {
"name" : " Shirt №2",
"cost" : 1000,
"country" : "argentina",
"image" : "images/1.jpg",
"brand": "M"
},
"Dress №1" : {
"name" : "Dress №1",
"cost" : 1000,
"country" : "brazil",
"image" : "images/a.jpg",
"brand": "L"
},
"Dress №2" : {
"name" : "Dress №2",
"cost" : 1000,
"country" : "brazil",
"image" : "images/a.jpg",
"brand": "L"
}
}
woman.html:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
</head>
<body>
<a href="index.html"> to the main page</a>
<div id="mini-cart"></div>
<div id="goods"></div>
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/eshop.js"></script>
</body>
</html>
答案 0 :(得分:0)
如下修改您的eshop.js,
document.addEventListener('DOMContentLoaded', function (e) {
loadGoods();
});
function loadGoods() {
$.getJSON('goods.json', function (data) {
var url = (window.location.href);
var pageName = url.substring((url.lastIndexOf('/') + 1) , url.indexOf('.'));
var out = '';
for (var key in data){
if(pageName != data[key]['gender']){
continue;
}
out+='<div class="single-goods">';
out+='<h3>'+data[key]['name']+'</h3>';
out+='<img src="'+data[key].image+'">';
out+='<p>Price: '+data[key]['cost']+'</p>';
out+='<button class="add-to-cart" data-art="'+key+'">Buy </button>';
out+='</div>';
}
document.getElementById('goods').innerHTML = out;
document.querySelectorAll('button.add-to-cart').forEach(function(but) {
but.addEventListener("click",addToCart);
})
});
}
并将性别属性添加到您的goods.json
{
"Shirt №1" : {
"gender" : "man",
"name" : " Shirt №1",
"cost" : 1000,
"country" : "argentina",
"image" : "images/1.jpg",
"brand": "M"
},
"Shirt №2" : {
"gender" : "man",
"name" : " Shirt №2",
"cost" : 1000,
"country" : "argentina",
"image" : "images/1.jpg",
"brand": "M"
},
"Dress №1" : {
"gender" : "woman",
"name" : "Dress №1",
"cost" : 1000,
"country" : "brazil",
"image" : "images/a.jpg",
"brand": "L"
},
"Dress №2" : {
"gender" : "woman",
"name" : "Dress №2",
"cost" : 1000,
"country" : "brazil",
"image" : "images/a.jpg",
"brand": "L"
}
}