Blogger Information
Blog 12
fans 0
comment 4
visits 9517
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
jquery案例第二篇——购物车
温度的博客
Original
685 people have browsed it

实例

<!DOCTYPE html>
<html>
<head>
  <title>模拟加入购物车效果</title>
   <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <style type="text/css">
    * {margin: 0px auto;padding: 0px;}
    .top {width: 402px;height: 35px;line-height: 35px;text-align:center;margin-top: 50px;
          background: #C40000;color:#fff;}
    .main {width: 400px;height: 400px;border: 1px solid #C40000;}
    p {width: 400px;height: 26px;margin-top:10px;}
    b {width: 90px;height: 26px;line-height: 26px;text-align: center;font-size: 12px;color:#838383;
       border: 1px solid #ccc;float: left;margin-left: 5px;}
    span {width: 90px;height: 26px;line-height: 26px;text-align: center;font-size: 12px;color:#838383;
          border: 1px solid #ccc;display: block;float: left;margin-left: 5px;}
    span:hover {cursor: pointer;}
    button {width: 120px;height: 35px;background: #C40000;color: white;border: 0px;}
    button:hover {cursor: pointer;}
    .notice{border:0px;}
    .notice+input{width:60px;margin-left: 6px;text-align: center;}
    .on{border: 2px solid #C40000;width: 88px;height: 24px;}
    </style>  
</head>
<body>
  <div class="top">请选择信息后加入购物车</div>
  <div class="main">
    <p class="item" name="version">
      <b class="notice">版本</b>
      <span>ONE A2001</span>
      <span>ONE A0001</span>
      <span>ONE A1001</span>
    </p>
    <p class="item" name="color">
      <b class="notice">机身颜色</b>
      <span>白色</span>
      <span>黑色</span>
      <span>金色</span>
    </p>
    <p class="item" name="type">
      <b class="notice">套餐类型</b>
      <span>标配</span>
      <span>套餐一</span>
      <span>套餐二</span>
    </p>
    <p class="item" name="ram">
      <b class="notice">运行内存</b>
      <span>2GB</span>
      <span>3GB</span>
      <span>4GB</span>
    </p>
    <p class="item" name="rom">
      <b class="notice">机身内存</b>
      <span>16GB</span>
      <span>32GB</span>
      <span>64GB</span>
    </p>
    <p class="item" name="location">
      <b class="notice">产地</b>
      <span>中国大陆</span>
      <span>港澳台</span>
    </p>
    <p class="item" name="price">
      <b class="notice">价格</b>
      <span>999元抢购</span>
    </p>
    <p class="item1" name="num">
      <b class="notice">数量</b>
      <input type="number" value="1" >
    </p>

    <p style="margin-top:30px;margin-left:95px;">
      <button class="bu1" id='sub'>加入购物车</button>
    </p>
  </div>
<script>
  $(function(){
      $('.item span').click(function(){  //当点击每个span的时候
          if($(this).hasClass('on')){   //先检测一下是否选中,是否含有on
            $(this).removeClass('on');  //如果有了我就移除on
          }else{
             $(this).addClass('on').siblings('span').removeClass('on');  // 如果没有on,我就添加上,同事删除同级span的on
          }
      })
      $('#sub').click(function(){
        var form = {};   //定义空的form对象,用于储存数据
        var flag = true;  //初始化能不能加入购物车状态
        $('.item').each(function(){   //遍历每个item分类
          if($(this).children('span.on').length ==0){   //获取每个item下面的span为on的,长度等于0,说明一个都没选中
            flag = false;
          }else{
            var key = $(this).attr('name');  //键名key,是获取item的name属性的值
            var value = $(this).children('span.on').html();  //键值value,是item下有on效果的span的文本
            form[key] = value;   //储存在form对象里,
            
          }
        })
        if($('.item1 input').val() <=0){   //获取数量的值,如果小于等于0,返回假
          flag = false;
        }else{
          form['num'] = $('.item1 input').val();  //大于0就储存到form对象里
         
        }
        if(flag){
          alert("购物车添加成功!");  //flag==true,成功时候提示
        }

      })

  })
    
</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post