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> ...
随机推荐
- 《javascript高级程序设计》读书小延伸
这本书已经读了几章了,想着试试能不能做出点东西,就简单的练了把手.觉得对于初学者,自己试着练练,效果还不错的. 挥刀要从轻的开始,起初的原因是和同事谈起曾经的逝水年华(小时候干的坏事)时说起了曾经的一 ...
- error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
http://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket- ...
- Python与数据结构[4] -> 散列表[2] -> 开放定址法与再散列的 Python 实现
开放定址散列法和再散列 目录 开放定址法 再散列 代码实现 1 开放定址散列法 前面利用分离链接法解决了散列表插入冲突的问题,而除了分离链接法外,还可以使用开放定址法来解决散列表的冲突问题. 开放定 ...
- Html5+CSS
1. 内联样式是为元素添加样式的最简单有效的方式,但是更易于维护的方式是使用层叠样式表CSS(Cascading Style Sheets). <style> 选择器 {属性名称: 属性 ...
- Centos7下安装7za 及7za常用命令
安装必备环境 yum install kernel-devel kernel-headers gcc-c++ make bzip2 下载源码(16.02版本,2016.10.04 publish) w ...
- 【带修莫队】bzoj2120 数颜色
块大小为n2/3. 把询问和修改分开. 每次两个询问之间的修改进行暴力转移,如果修改在上一次询问的区间里,就会对当前状态形成影响. 好慢. #include<cstdio> #includ ...
- [美团 CodeM 初赛 Round A]最长树链
题目大意: 给你一棵带点权的树,找出一个最长的树链满足链上点权的最大公因数不为1. 思路: 暴力DP. 对于每个点,记录一下以这个点为一个端点的所有链的最大公因数及长度. 然后暴力转移一下,时间复杂度 ...
- Swift中懒加载(lazy initialization)的实现
Swift中是存在和OC一样的懒加载机制的,但是这方面国内的资料比较少,今天把搜索引擎换成了Bing后发现用Bing查英文\最新资料要比百度强上不少. 我们在OC中一般是这样实现懒加载初始化的: 1: ...
- Oracle里面的用户user无法登录 LOCKED(TIMED)
SQL>conn test/test 还是报同样的错误,这就奇怪了.看看dba_users中该用户的状态等信息 SQL>select account_status,lock_date,pr ...
- Editplus格式化代码
Editplus格式化代码插件(CSS,JS)今天在BlueIdea看到有人发了一篇名 为“让Editplus自动格式化css和js”的文章,看完后觉得写的很好,我也突然来了灵感,为什么不把前端开发常 ...