Blogger Information
Blog 40
fans 2
comment 1
visits 38922
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
18.jQuery商品类型选择效果-2019年01月23号
万物皆对象
Original
705 people have browsed it

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>2.商品类型选择效果</title>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
    <div class="top">请选择商品类型</div>
    <div class="main">
        <p class="item" name="version">
            <b class="notice">版本</b>
            <span>iPhone8</span>
            <span>iPhoneX</span>
            <span>iPhoneXS</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="ROM">
            <b class="notice">机身内存</b>
            <span>64GB</span>
            <span>128GB</span>
            <span>256GB</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" style="width:40px;height:24px;margin-left: 5px;">
        </p>
        <p style="margin-top:30px;margin-left:95px;">
            <button class="btn1" id="sub">立即购物</button>
        </p>
    </div>
</body>
</html>
<script>
$(function(){
    /*
        第一步:点击span标签的时候判断
        span标签class是否存在select样式
        存在就true,反之false;
    */ 
    $('span').click(function(){
        if($(this).hasClass('select')){
            // 如果为true证明有select,点击的时候就会移除
            $(this).removeClass('select'); 
        }else{
            // 反之会添加select样式并移除同胞select样式
            // (意思就是单选,如果多选则不用移除同胞的样式)
            $(this).addClass('select').siblings().removeClass('select'); // 单选
            //$(this).addClass('select'); // 多选
        }
    });

    /*
        第二步:点击按钮时将选择的商品类型
        存入对象中
    */
    $('.btn1').click(function(){
        let list = {};  // 创建一个对象
        let status = true;
        // 遍历class为item的p标签
        $('.item').each(function(){
            /*  循环遍历获取到p标签下面的子元素
                span标签样式为select并得到他的长度,
                当长度不等于1时状态值为false,
                意味着还有些类型没有被选中
            */
            if( $(this).children('span.select').length != 1 ){
                status = false;
            }else{
                /*  反之获取p标签的name值作为key,
                    然后获取p标签下面的子元素span标签带有select样式的值,
                    最后将值存入对象里
                */
                let key = $(this).attr('name');
                let val = $(this).children('span.select').html();
                list[key] = val;
            }
        });

        // 第三步:判断input框type为number的值是否低于1
        if($('.item1').children('input').val() < 1){
            status = false;
            alert('商品数量至少为1');
        }else{
            // 反之就获取p标签子元素input框的值,将值存入对象
            list['num'] = $('.item1').children('input').val();
            console.log(list);
        }
        status === true ? alert('可以加入购物车了') : '' ;
    });
});
</script>

运行实例 »

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

CSS:

实例

        *{margin: 0 auto;padding: 0;}
        .top{
            width: 402px;
            height: 35px;
            background: #c40000;
            margin-top: 20px;
            text-align: center;
            line-height: 35px;
            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;
        }
        .select{
            border: 2px solid red;
            width: 88px;
            height: 24px;
            line-height: 24px;
            color: red;
        }

运行实例 »

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

666.jpg

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