原生js实现淘宝购物车功能

js淘宝购物车功能描述:

1、点击“+”,单个商品数量加1,总数量加1;单个商品价格添加,总价也添加。
 2.点击“-”,单个商品数量减1,总数量减1;单个商品价格减少,总价也减少。
 当该商品数量为0时,点击依然为0;
 3.显示出总价,总数量和其中最贵的那个商品的价格。

瞄一眼效果图:

废话不多说,LU代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{padding:0;margin:0;}
#list,p{list-style:none;width:600px;margin:0 auto;}
#list li {width:600px;height:50px;line-height:50px;margin-top:20px;font-size:20px;}
#list li input{width:60px;height:40px;line-height:40px;}
.highlight{color:red;font-size:30px;font-weight:bold;}
</style>
<script>
window.onload = function () {

 var oUl = $('list');
 var totalNumber = $('totalNum');
 var totalPrice = $('totalPrice');
 var mostExpensive = $('mostExpensive');
 var aLi = oUl.getElementsByTagName('li');
 var maxPrice = [0];

 for ( var i = 0; i < aLi.length; i++ ) {
  price(aLi[i]);
 }

 function price(oLi) {

  var aBtn = oLi.getElementsByTagName('input');
  var oStrong = oLi.getElementsByTagName('strong')[0];
  var oEm = oLi.getElementsByTagName('em')[0];
  var oSpan = oLi.getElementsByTagName('span')[0];

  aBtn[0].onclick = function () {
   var num = Number(oStrong.innerHTML);
   var price = parseFloat(oEm.innerHTML);
   var numbers = Number(totalNumber.innerHTML);
   var prices = parseFloat(totalPrice.innerHTML);
   num--;
   if (num === 0) {
    // 如果该商品数量为0,,那么就得把它的价格从价格表中清除
    var index = maxPrice.indexOf(price);
    if (index > -1) maxPrice.splice(index, 1);
   } else if (num < 0) {
    num = 0;
    return;
   }
   numbers--;
   oStrong.innerHTML = num;
   oSpan.innerHTML = num * price + '元';
   totalNumber.innerHTML = numbers;
   totalPrice.innerHTML = prices - (num + 1) * price;
   mostExpensive.innerHTML = maxPrice[0];

  }
  aBtn[1].onclick = function () {

   var num = Number(oStrong.innerHTML);
   var price = parseFloat(oEm.innerHTML);
   var numbers = Number(totalNumber.innerHTML);
   var prices = parseFloat(totalPrice.innerHTML);

   num++;
   numbers++;
   if (maxPrice.indexOf(price) < 0) {
    maxPrice.push(price)
    maxPrice.sort(function (a,b) {return b - a});
   }
   oStrong.innerHTML = num;
   oSpan.innerHTML = num * price + '元';
   totalNumber.innerHTML = numbers;
   totalPrice.innerHTML = prices + num * price;
   mostExpensive.innerHTML = maxPrice[0];
  }
 }
 function $(id) {return document.getElementById(id);}
}
</script>
</head>

<body>
<ul id="list">
 <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  单价:<em>12.5元</em>
  小计:<span class="highlight">0元</span>
 </li>
 <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  单价:<em>10.5元</em>
  小计:<span class="highlight">0元</span>
 </li>
 <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  单价:<em>8.5元</em>
  小计:<span class="highlight">0元</span>
 </li>
 <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  单价:<em>8元</em>
  小计:<span class="highlight">0元</span>
 </li>
 <li>
  <input type="button" value="-" />
  <strong>0</strong>
  <input type="button" value="+" />
  单价:<em>14.5元</em>
  小计:<span class="highlight">0元</span>
 </li>
</ul>

<p>
商品合计共:<span class="highlight" id="totalNum">0</span>件,
共花费了:<span class="highlight" id="totalPrice">0</span>元<br />
其中最贵的商品单是:<span class="highlight" id="mostExpensive">0</span>元
</p>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • js+cookies实现悬浮购物车的方法

    本文实例讲述了js+cookies实现悬浮购物车的方法.分享给大家供大家参考.具体分析如下: 在 "商品列表展示页"做上 "悬浮的"与"DataList"结合的 "无刷新购物车",只需计算出总价,不必去单独页面结算.找了些资料修改了一下,整理示例如下: gwc.js文件如下: // JavaScript Document //计算单个小计 function EveryCount() { var index=window.eve

  • Javascript操纵Cookie实现购物车程序

    复制代码 代码如下: /***************************************************************************************************** Name 购物车 Version 1.1 Author Vanni(凡林) url:www.27sea.com QQ:303590170 CreateDate 2005-05-31 Description 此类是基于JavaScript和客户端Cookie,请保证客户端开

  • 原生JS 购物车及购物页面的cookie使用方法

    直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>购物页面</title> <style> ul{list-style:none;padding:0;margin:0;} .goods li{display:inline-block;border:1px solid #ddd;pa

  • 原生js实现淘宝购物车功能

    js淘宝购物车功能描述: 1.点击"+",单个商品数量加1,总数量加1:单个商品价格添加,总价也添加.  2.点击"-",单个商品数量减1,总数量减1:单个商品价格减少,总价也减少.  当该商品数量为0时,点击依然为0:  3.显示出总价,总数量和其中最贵的那个商品的价格. 瞄一眼效果图: 废话不多说,LU代码 <html> <head> <meta http-equiv="Content-Type" content

  • 原生js模拟淘宝购物车项目实战

    本文实例讲述了原生js模拟淘宝购物车实现代码.分享给大家供大家参考.具体如下: 通过JavaScript实现类似与淘宝的购物车效果,包括商品的单选.全选.删除.修改数量.价格计算.数目计算.预览等功能的实现.实现的效果图: 相应的代码: shoppingCart.html <!DOCTYPE html> <html> <head> <meta charset = "UTF-8"> <title>JavaScript实现购物车项

  • vue实现的仿淘宝购物车功能详解

    本文实例讲述了vue实现的仿淘宝购物车功能.分享给大家供大家参考,具体如下: 下面是一张众所周知的淘宝购物车页面,今天要讲解的案例就是用vue.js做一个类似的页面 首先简单介绍一下可能会用到的一些vue.js的用法: v-bind,绑定属性:例如v-bind:class="{'class1':flag}",这是常用的绑定样式的方法,如果flag为true则class=class1:v-bind:src="image",image就是图像的路径; v-if=&quo

  • vue实现淘宝购物车功能

    本文实例为大家分享了vue实现淘宝购物车的具体代码,供大家参考,具体内容如下 淘宝购物车功能,效果如下图 非常简单的逻辑,没有做代码的封装,代码如下 <div class="list-container"> <div class="top-ops"> <div> <img src="../../../static/images/HomeRecommendShopInfoAdress@2x.png" alt

  • scrapy框架携带cookie访问淘宝购物车功能的实现代码

    scrapy框架简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便 scrapy架构图 crapy Engine(引擎): 负责Spider.ItemPipeline.Downloader.Scheduler中间的通讯,信号.数据传递等. Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整

  • 原生js实现淘宝首页点击按钮缓慢回到顶部效果

    淘宝首页的回到顶部按钮是这样的:下拉到一定距离后按钮才显示出来,鼠标放到按钮上时,按钮背景会变成灰色,并且图标变成了文字.点击按钮缓慢回到顶部 我们先分析下实现这样的效果需要添加哪些事件.鼠标移进移出按钮,按钮表现发生变化,所以需要给按钮添加mouseover, mouseout事件.要侦听滚动条的变化,所以需要给window添加scroll事件,点击按钮回到顶部,按钮添加click事件.我们将事件处理程序封装成三个函数moveIn, moveOut, goTop; 下面先给出html/css代

  • 原生js仿淘宝网商品放大镜效果

    效果图:(实例图片由自己添加) 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>仿淘宝放大镜特效</title> <style type="text/css"> *{margin: 0;padding: 0;} #demo{width:350px;height:

  • 原生js实现淘宝放大镜效果

    大家经常逛淘宝.天猫.京东这类网站的时候往往会看到一些图片展示的效果,例如:把鼠标放在图片上右侧会出现一个放大的预览区域,这就是所谓放大镜效果.今天闲着没事干,就打算复习一下JavaScript基础,用一下基础知识制作一个类似于淘宝的放大镜效果. 先说一下这个效果需要用到的一些基础知识: css相对定位:position:absolute: 鼠标移入移出以及移动事件:onmouseover.onmouseout.onmousemove,记住这些事件一般不会单个出现 获取鼠标点击坐标:X轴:cli

  • jQuery模拟淘宝购物车功能

    首先我们要实现的内容的需求有如下几点: 1.在购物车页面中,当选中"全选"复选框时,所有商品前的复选框被选中,否则所有商品的复选框取消选中. 2.当所有商品前的复选框选中时,"全选"复选框被选中,否则"全选"复选框取消选中. 3.单击图标-的时候数量减一而且不能让物品小于0并且商品总价与积分随之改变. 4.单击图标+的时候数量增加并且商品总价与积分随之改变. 5.单击删除所选将删除用户选中商品,单击删除则删除该商品即可并达到商品总价与积分随之改变

  • Android实现仿淘宝购物车增加和减少商品数量功能demo示例

    本文实例讲述了Android实现仿淘宝购物车增加和减少商品数量功能.分享给大家供大家参考,具体如下: 在前面一篇<Android实现的仿淘宝购物车demo示例>中,小编简单的介绍了如何使用listview来实现购物车,但是仅仅是简单的实现了列表的功能,随之而来一个新的问题,买商品的时候,我们可能不止想买一件商品,想买多个,或许有因为某种原因点错了,本来想买一件来着,小手不小心抖了一下,把数量错点成了三个,这个时候就涉及到一个新的功能,那就是增加和减少商品的数量,今天这篇博文,小编就来和小伙伴们

随机推荐