ajax 动态添加商品列表
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
//自定义模板
<script type="text/template" id="app_tpl">
<div class="product">
<div class="imageContainer">
<img src="{#img#}" />
<div class="layer">
<p>找同款</p>
<p>找相似</p>
</div>
</div>
<div class="concent">
<p class="price">
<span class="price-text">¥{#price#}</span>
<span class="sum">{#sales#}人付款</span>
</p>
<p class="title">{#title#}</p>
<p class="stroe">
<span class="stroe-title">{#store#}</span>
<span class="adress">{#adress#}</span>
</p>
</div>
</div>
</script>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
#app {
width: 1088px;
margin: 50px auto;
font-family: "微软雅黑";
}
.product {
width: 250px;
height: 360px;
float: left;
border: 1px solid #ccc;
margin: 10px;
}
.product:hover{
border: 1px solid #555B24;
}
.imageContainer{
position: relative;
width: 250px;
height: 250px;
}
.product:hover .layer {
display: block;
}
.layer{
height:40px ;
background: #F55B24;
position: absolute;
bottom: 0;
left: 0;
display: none;
}
.layer p {
width: 125px;
float: left;
line-height: 30px;
color: #fff;
font-size: 12px;
text-align: center;
}
.content {
padding: 10px;
}
.content .price {
width: 100%;
line-height: 40px;
height: 40px;
}
.price{
height: 30px;
}
.price .price-text {
color: #F55B24;
font-size: 20px;
float: left;
font-weight: bold;
}
.price .price-text span{
color: #fff;
font-size:12px;
background: #F55B24;
font-weight: 400;
vertical-align: top;
}
.price .sum {
color: #999;
font-size: 12px;
display: inline;
float: right;
}
.title {
color: #666;
font-size: 12px;
}
.stroe {
width: 100%;
color: #999;
font-size: 12px;
line-height: 30px;
}
.stroe .store-title {
float: left;
}
.stroe .adress {
float: right;
}
</style>
</head>
<body>
<div id="app"></div>
</body>
//js
<script type="text/javascript">
//js命名空间 定义一个工具方法库
var Util = {
//获取获取元素数
id: function(id) {
return document.getElementById(id);
},
//封装ajax方法
ajax: function(url, callback) {
//创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
//订阅事件
xhr.onreadystatechange = function() {
if(xhr.readyState === 4) {
if(xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
callback && callback(data);
}
}
}
xhr.open("get", url, true);
xhr.send(null);
}
}
//格式化字符串
function formDataString(str,data){
return str.replace(/\{#(\w+)#\}/g,function(match,$1){
// console.log(this,1) //this作用域
// console.log(arguments,2)//参数列表
return data[$1]===undefined?"":data[$1];
});
}
var tpl = Util.id("app_tpl").innerHTML;
var html="";
Util.ajax("data/list.json",function(data) {
var data=data.list;
for(var i=0;i<data.length;i++){
html+=formDataString(tpl,data[i])
}
Util.id('app').innerHTML=html;
})
</script>
</html>
//list.json
{
"errno": 0,
"list": [
{
"img": "images/1.jpg",
"price": "798.00",
"sales": "8",
"title": "帛薇儿2017春装新款女装条纹拼接连衣裙蝴蝶结中长款真丝连衣裙 ",
"store": "pokwai服饰旗舰店",
"adress": "广东 深圳"
},
{
"img": "images/2.jpg",
"price": "168.00",
"sales": "2946",
"title": "加棉毛呢短外套短款刺绣棒球服女秋冬季2016新款潮加厚含羊毛呢子 ",
"store": "妍蝶旗舰店",
"adress": "浙江 杭州"
},
{
"img": "images/3.jpg",
"price": "699.00",
"sales": "974",
"title": "【多件多折】ochirly欧时力翻领羊毛呢大衣长外套1YY3345910 ",
"store": "ochirly官方旗舰店",
"adress": "广东 广州"
},
{
"img": "images/4.jpg",
"price": "19.90",
"sales": "584",
"title": "秋冬季女装新款2016黑色打底衫女长袖t恤白色纯棉上衣修身衣服潮 ",
"store": "娇人圣典旗舰店",
"adress": "福建 厦门"
},
{
"img": "images/5.jpg",
"price": "38.89",
"sales": "430",
"title": "新款韩版黑白条纹修身2016长袖T恤女秋打底衫莫代尔大码女装上衣 ",
"store": "xy服饰旗舰店",
"adress": "广东 东莞"
},
{
"img": "images/6.jpg",
"price": "89.90",
"sales": "8637",
"title": "中老年女装冬装棉衣妈妈装羽绒棉服中长款毛领外套老年人加厚棉袄 ",
"store": "胖胖家衣橱",
"adress": "浙江 嘉兴"
},
{
"img": "images/7.jpg",
"price": "69.00",
"sales": "3085",
"title": "秋冬季新款加绒加厚卫衣女装套头宽松韩版潮学生圆领长袖上衣外套 ",
"store": "米子旗旗舰店",
"adress": "广东 广州"
},
{
"img": "images/8.jpg",
"price": "49.90",
"sales": "3733",
"title": "百搭毛衣线衣韩版女装套头打底针织衫短款上衣秋冬季潮外套宽松 ",
"store": "黎雪儿旗舰店",
"adress": "江苏 苏州"
},
{
"img": "images/9.jpg",
"price": "19.00",
"sales": "355",
"title": "中老年女装冬装棉衣妈妈装羽绒棉服中长款毛领外套老年人加厚棉袄 ",
"store": "娟子裤行",
"adress": "上海"
},
{
"img": "images/10.jpg",
"price": "118.00",
"sales": "968",
"title": "2016女装新款秋冬装针织衫女开衫百搭短款毛衣外套女秋冬季韩版潮 ",
"store": "玛思狄拉旗舰店",
"adress": "浙江 嘉兴"
},
{
"img": "images/11.jpg",
"price": "53.00",
"sales": "490",
"title": "2016秋冬季新款娃娃领女装针织衫套头打底衫修身毛衣女短款上衣潮 ",
"store": "诗梵米亚旗舰店",
"adress": "浙江 嘉兴"
},
{
"img": "images/12.jpg",
"price": "28.80",
"sales": "2419",
"title": "秋冬新款女装纯色麻花毛衣女套头韩版圆领短款针织衫上衣打底衫厚 ",
"store": "沐晗旗舰店",
"adress": "江苏 苏州"
}
]
}
ajax 动态添加商品列表的更多相关文章
- jquery获取不了ajax动态添加的内容的解决办法
在HTML页面的一个button <div class="ajaxClick"> <button>内容</button> </div> ...
- 点击添加按钮,使用ajax动态添加一行和移除一行,并且序号重新排序和数据不重复操作判断
<div class="control-group " style="top: -20px;position: relative;"> <la ...
- ajax动态添加复选框
function getLands() { $.ajax({ url:"httpserver.do?doPost&userQygs="+$("#userQygs& ...
- ajax动态添加的li不能绑定click事件
单纯的给li标签添加click事件,是不会执行的. 经过试验 <ul id="searchedUser"><li>搜索结果</li></u ...
- 原生ajax动态添加数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 学习笔记12之通过ajax动态添加选项
- 移动端,ajax 动态加载的元素,为动态添加的一系列同个类名的元素添加点击事件
背景:一个列表页,有一系列同类名的元素,需要为每一个动态添加的列表项添加事件: 点击选择下图中不同的文档类型,再通过 ajax 动态加载不同的文档. 使用过的方法: 1.通知 jquery 的 $(s ...
- jquery动态添加列表后样式失效解决方式
最近在做一个通讯录,使用jquery mobile方式来做,在动态添加列表后,listview原有的样式失效,折腾一会,找出解决办法.代码如下. <%@ page language=" ...
- 商城项目:商品列表ajax加载,ajax加入购物车--五张表的联合查询
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProductLists.a ...
随机推荐
- Linux-进程描述(4)之进程优先级与进程创建执行
进程优先级 进程cpu资源分配就是指进程的优先权(priority).优先权高的进程有优先执行权利. 权限与优先级.权限(privilege)是指在多用户计算机系统的管理中,某个特定的用户具有特定的系 ...
- NodeJS 阻塞/非阻塞
阻塞实例 var fs = require('fs'); var data = fs.readFileSync('test.txt') console.log(data.toString()); co ...
- 开始使用gentoo linux——gentoo安装笔记(下)
gentoo安装笔记(下) 上一章,已经对操作系统安装做了充分准备,并且已经从livecd(u盘系统)切换进入了gentoo安装环境中. 不过现在才是真正的开始!打起精神!这可不是在装ubuntu! ...
- 【lucene系列学习四】log4j日志文件实现多线程的测试
参考资料:http://nudtgk2000.iteye.com/blog/1716379 首先,在http://www.apache.org/dyn/closer.cgi/logging/log4j ...
- 工具类总结---(六)---之http及https请求
下面使用的是HttpURLConnection进行的网络链接,并对https进行了忽略证书. 在这个utils里面,也使用到前面几个utils,比如下载文件的方法,就使用到了Fileutils pac ...
- 山东省第八届ACM省赛游记
Day 1: 凌晨,来了几分兴致,和队友在VJudge上开了一把zoj月赛,WA一发闷一口拿铁,一瓶拿铁 不一会就被喝完了!好气啊!遂开始愉快地打游戏,打着打着,woc,居然3点半了,小睡片 刻,咬上 ...
- sublime text 3 3126 注册码+中文包
sublime text 3 3126 注册码+中文包 Sublime Text 3 3126 注册码,网上找的.我用的最后一个. 复制一个,打开 Sublime Text 3, help -- ...
- spring-boot整合dubbo:Spring-boot-dubbo-starter
为什么要写这个小工具 如果你用过Spring-boot来提供dubbo服务,相信使用中有很多"不爽"的地方.既然使用spring boot,那么能用注解的地方绝不用xml配置,这才 ...
- Jquery datatable 动态隐藏列(根据有无值)
一场景: 前端利用datatable初始化的时候会向后端调用数据,需求是 要动态的使某一列根据传回来的一个标志位是否有值来决定显示与否 这是当前传回值有活动优惠幅度的情况下 这是没有活动优惠的情况下 ...
- [Android] 点击事件的四种写法
点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...