美文网首页
淘宝筛选

淘宝筛选

作者: Wo信你个鬼 | 来源:发表于2019-03-11 20:27 被阅读0次
    taobao.png
    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                * {
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }
                
                .web {
                    width: 500px;
                    margin: 20px auto;
                }
                
                .option {
                    font-size: 16px;
                    border-bottom: 1px solid #bbb;
                }
                
                .option li {
                    margin-bottom: 20px;
                }
                
                .option span {
                    display: inline-block;
                    color: #666;
                    padding: 5px 10px;
                    border: 1px solid #999;
                }
                
                .option li>span {
                    cursor: pointer;
                }
                
                .option p {
                    /*font-weight: bold;*/
                    display: inline-block;
                    width: 50px;
                    text-align: center;
                    color: #000;
                    border: 1px solid transparent;
                }
                
                .option .active {
                    border: 2px solid #f60;
                }
                
                .price {
                    margin-top: 20px;
                }
                
                .price em {
                    font-style: normal;
                    font-size: 22px;
                    color: #f60;
                }
                
                input {
                    width: 380px;
                    height: 45px;
                    line-height: 45px;
                    background: #f60;
                    border: none;
                    outline: none;
                    color: #fff;
                    font-size: 23px;
                    margin-top: 20px;
                }
            </style>
        </head>
    
        <body>
            <div class="web">
                <ul class="option">
                    <li class="type model">
                        <p>型号</p>
                        <span data-mprice = "5288"  class="active">4.7英寸</span>
                        <span data-mprice = "6088">5.5英寸</span>
                    </li>
                    <li class="type color">
                        <p>颜色</p>
                        <span class="active">银色</span>
                        <span>金色</span>
                        <span>深空灰色</span>
                    </li>
                    <li class="type Memory">
                        <p>内存</p>
                        <span data-mprice="0" class="active">16GB</span>
                        <span data-mprice="888">64GB</span>
                        <span data-mprice="1600">128GB</span>
                    </li>
                    <li class="type edition">
                        <p>版本</p>
                        <span class="active">公开版</span>
                        <span>移动赠费版</span>
                        <span>联通合约版</span>
                    </li>
                </ul>
                <div class="price">价格:<em>¥5288.00</em></div>
                <input type="button" value="立即购买" />
            </div>
            <script type="text/javascript">
                //点击切换颜色
                let allspan = document.querySelectorAll("span");
                let price = document.querySelector(".price em");
                console.log(price)
                for(let i = 0; i < allspan.length; i++) {
                    allspan[i].addEventListener("click", () => {
                        let spanParent = allspan[i].parentNode;
                        for(let j = 0; j < spanParent.children.length; j++) {
                            spanParent.children[j].classList.remove("active");
                        }
                        allspan[i].classList.add("active");
                        //方法一
    //                      totalPrice(allspan[i]);
                        //方法二   
    //                      sumPrice();
                        //方法三
                            sumPrice1(allspan[i]);
                    })
                }
                //计算价格
                //型号
                //内存
                
                
                
                
                //方法一
                let p1 = 5288, 
                    p2 = 0; 
                function totalPrice(obj) {              
                    if (obj.parentNode.classList.contains("model")) {
                      for (let i=1;i<obj.parentNode.children.length;i++) {
                        if (obj.parentNode.children[i].classList.contains("active")) {
                            p1 = i ==1?5288:6088;
                        }
                      }
                    }
                    if (obj.parentNode.classList.contains("Memory")) {
                      for (let j=1;j<obj.parentNode.children.length;j++) {
                        if (obj.parentNode.children[j].classList.contains("active")) {
                            p2 = j ==1?0:j==2?800:1600;
                        }
                      }
                    }
                    price.innerHTML = "¥" +(p1+p2).toFixed(2);
                }
                
                
                
                
                //方法二           
                let modelSpan = document.querySelectorAll(".model span");
                    memorySpan = document.querySelectorAll(".Memory span");
                    
                function sumPrice(){
                    let price1 = 0,
                        price2 = 0;
                    for (let i=0;i<modelSpan.length;i++) {
                        if (modelSpan[i].classList.contains("active")) {
                            price1 = i==0?5288:6088;
                        }
                    }
                    for (let j=0;j<memorySpan.length;j++) {
                        if (memorySpan[j].classList.contains("active")) {
                            price2 = j==0?0:j==1?5288:6088;
                        }
                    }
                    price.innerText = "¥" +(price1+price2).toFixed(2);
                }
                
                
                
                //方法三
                let pr1 = 5288,
                    pr2 = 0;
                function sumPrice1(obj){
                    if (obj.parentNode.classList.contains("model")) {
                        pr1 = parseFloat(obj.dataset.mprice);
                    }
                    if (obj.parentNode.classList.contains("Memory")) {
                        pr2 = parseFloat(obj.dataset.mprice);
                    }
                    price.innerText = "¥" +(pr1+pr2).toFixed(2);
                }
            </script>
        </body>
    
    </html>
    
    

    相关文章

      网友评论

          本文标题:淘宝筛选

          本文链接:https://www.haomeiwen.com/subject/asdipqtx.html