js实现仿购物车加减效果

代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{
margin: 0;
padding: 0;
}
body{
overflow-y: auto;
}
ul{
margin-top: 20px;
border-top: 1px solid #666;
}
h1{
width: 500px;
margin: 0 auto;
color: deeppink;
height: 100px;
line-height: 100px;
}
li{
list-style: none;
padding: 15px 0px 15px 60px;
border-bottom:1px solid #ccc;
font-size: 0px;
line-height: 30px;
/*height: 60px;*/
}
input[type=button],li strong,li em,li span,li div{
height: 30px;
font-size: 20px;
line-height: 30px;
text-align: center;
}
input[type=button],li strong
{
width: 60px;
}
li span,li em{
width: 80px;
background: pink;
}
li div{
width: 100px;
}
li strong,li span,li em,li div{
display: inline-block;
}
</style>
<script>
window.onload=function(){
var oUl=document.getElementById('list');
var aLi=oUl.getElementsByTagName('li');
for(var i=0;i<aLi.length;i++){
fn1(aLi[i]);
}
function fn1(aLi){
var aBtn=aLi.getElementsByTagName('input');
var aStrong=aLi.getElementsByTagName('strong')[0];
var aEm=aLi.getElementsByTagName('em')[0];
var aSpan=aLi.getElementsByTagName('span')[0];
var num=Number(aStrong.innerHTML); //aStrong.innerHTML='0'
var price=parseFloat(aEm.innerHTML);//aEm.innerHTML='12.9元'
aBtn[0].onclick=function(){
if(num>0)
{
num--;
aStrong.innerHTML=num;
aSpan.innerHTML=(num*price).toFixed(1)+'元'
}
}
aBtn[1].onclick=function(){
num++;
aStrong.innerHTML=num;
aSpan.innerHTML=(num*price).toFixed(1)+'元'
}
}
}
</script>
</head>
<body>
<h1>点点看,仿购物车+ -效果</h1>
<ul id="list">
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
<div class="s1">单价:</div><em>12.9元</em>
<div class="s1">共计:</div><span>0</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
<div class="s1">单价:</div><em>45.7元</em>
<div class="s1">共计:</div><span>0</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
<div class="s1">单价:</div><em>67.5元</em>
<div class="s1">共计:</div><span>0</span>
</li> <li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
<div class="s1">单价:</div><em>14.7元</em>
<div class="s1">共计:</div><span>0</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
<div class="s1">单价:</div><em>45.6元</em>
<div class="s1">共计:</div><span>0</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
<div class="s1">单价:</div><em>32.4元</em>
<div class="s1">共计:</div><span>0</span>
</li>
</ul>
</body>
</html>
js实现仿购物车加减效果的更多相关文章
- js实现购买数量加减效果
写在前面:当我们需要在多个页面都有操作数量的需求时的一种解决方案 结构: js代码: <script type="text/javascript"> function ...
- JQuery案例:购物车加减
购物车加减 <head> <meta charset="UTF-8"> <title>加减购物车</title> <style ...
- js实现输入框数量加减【转】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 用js进行日期的加减
如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下 ...
- Js中处理日期加减天数
Js的处理日期还是很方便的. 一. 格式化日期为2017-07-04的格式 function formatTime(date) { var year = date.getFullYear(); var ...
- js 时间格式,加减
Date.prototype.Format = function (fmt) { //author: rixiao var o = { "M+": this.getMonth() ...
- js 购物车中,多件商品数量加减效果修改,实现总价随数量加减改变
<!DOCTYPE html> <html> <head> <meta charset=UTF-8 /> <title>无标题文档</ ...
- 原生js实现仿window10系统日历效果
舞动的灵魂版js日历,完全采用js实现,故而实现了与语言无关,jsp.asp.net php asp均可使用.无论你是开发软件,还是网站,均是不可或缺的实用代码. 该日历主要实现了获取当前时间时分秒, ...
- spin.js插件的转圈加载效果
先上插件链接地址:http://fgnass.github.io/spin.js/ 以下是使用spin.js插件的完整版测试例子: <!doctype html> <html> ...
随机推荐
- django URL参数在view中传递和Template的反向解析方式
一. URL参数在view中传递 1.带参数名:通过named group方式传递指定参数,语法为: (?P<name>pattern), name 为传递参数的名称,pattern代表所 ...
- springmvc与前端数据交互实例
一.从页面接收参数 Spring MVC接收请求提交的参数值的几种方法: 使用HttpServletRequest获取. @RequestMapping("/login.do" ...
- STL之vector4
描述 将一个n行m列矩阵元素输入存储后并输出. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { vector< vector<int> > ...
- React Native 让组件做到局部刷新
利用RN的状态机机制,我们可以通过this.setState({optional:...})来控制界面的刷新,但是一定会触发render方法,那如何保证不调用render方法从而做到界面的局部刷新呢? ...
- Xcode8 不能显示blame,show blame for line 灰色不可点解决办法
1.原因 创建工程时没勾选create git repository 2.解决办法 ➜ ~ cd /Users/zhanglinfeng/Documents/EastMoney/EMLive / ...
- python中的else子句
在一般的语言中else子句一般是紧跟在if 子句后面,但是python语言中else子句可以不跟在if子句后面,请看下面代码: >>> for n in range(2, 10): ...
- 连接sqlexpress
sqlexpress在visualstudio安装时可选择安装. 数据源添加 localhost\sqlexpress window身份认证即可.
- SpringBoot定时任务(Spring Schedule )实现方法
FastDateFormat fdf = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss"); fdf.format(new Dat ...
- spring融合activitymq-all启动报错的解决办法
报错信息: nested exception is java.lang.NoSuchMethodError: org.springframework.core.annotation.Annotated ...
- react项目如何调试?
进入到相应的网页界面,然后查看Sources->Page->top->webpack://->找到react的js代码处,设置断点,进行调试