当前位置: 首页 > news >正文

阿里云备案 网站备案域名购买郑州短视频代运营公司

阿里云备案 网站备案域名购买,郑州短视频代运营公司,智慧团建登录手机版正式版,网站根目录是什么意思要求 可以进行购物车水果删除可以进行水果数量增减可以进行总价计算、购物车商品计算选中所有水果也会一同勾选全选框&#xff0c;全选框勾选也能选中所有水果可以记录购物车状态&#xff0c;当页面关闭后重新打开可以看到原先的购物车数据 功能代码 <!DOCTYPE html>…

要求

  1. 可以进行购物车水果删除
  2. 可以进行水果数量增减
  3. 可以进行总价计算、购物车商品计算
  4. 选中所有水果也会一同勾选全选框,全选框勾选也能选中所有水果
  5. 可以记录购物车状态,当页面关闭后重新打开可以看到原先的购物车数据
    在这里插入图片描述

功能代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="stylesheet" href="./css/inputnumber.css" /><link rel="stylesheet" href="./css/index.css" /><title>购物车</title>
</head><body><div class="app-container" id="app"><!-- 顶部banner --><div class="banner-box"><img src="http://autumnfish.cn/static/fruit.jpg" alt="" /></div><!-- 面包屑 --><div class="breadcrumb"><span>🏠</span>/<span>购物车</span></div><!-- 购物车主体 --><div class="main" v-if="fruitList.length>0"><div class="table"><!-- 头部 --><div class="thead"><div class="tr"><div class="th">选中</div><div class="th th-pic">图片</div><div class="th">单价</div><div class="th num-th">个数</div><div class="th">小计</div><div class="th">操作</div></div></div><!-- 身体 --><div class="tbody"><div class="tr" :class="{active:item.isChecked}" v-for="(item,index) in fruitList" :key="item.id"><div class="td"><input type="checkbox" v-model="item.isChecked" /></div><div class="td"><img :src="item.icon" alt="" /></div><div class="td">{{item.price}}</div><div class="td"><div class="my-input-number"><button :disabled="item.num <=0 " class="decrease" @click="sub(item.id)"> - </button><span class="my-input__inner">{{item.num}}</span><button class="increase" @click="add(item.id)"> + </button></div></div><div class="td">{{item.price * item.num}}</div><div class="td"><button @click="del(item.id)">删除</button></div></div></div></div><!-- 底部 --><div class="bottom"><!-- 全选 --><label class="check-all"><input type="checkbox" v-model="isAll" />全选</label><div class="right-box"><!-- 所有商品总价 --><span class="price-box">总价&nbsp;&nbsp;:&nbsp;&nbsp;¥&nbsp;<span class="price">{{totalPrice}}</span></span><!-- 结算按钮 --><button class="pay">结算( {{totalNum}} )</button></div></div></div><!-- 空车 --><div class="empty" v-else>🛒空空如也</div></div><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>const defaultArr = [{id: 1,icon: './img/火龙果.png',isChecked: true,num: 2,price: 6,},{id: 2,icon: './img/荔枝.png',isChecked: false,num: 7,price: 20,},{id: 3,icon: './img/榴莲.png',isChecked: false,num: 3,price: 40,},{id: 4,icon: './img/鸭梨.png',isChecked: true,num: 10,price: 3,},{id: 5,icon: './img/樱桃.png',isChecked: false,num: 20,price: 34,},]const app = new Vue({el: '#app',data: {// 水果列表fruitList: JSON.parse(localStorage.getItem('list')) || defaultArr},methods: {del(id) {this.fruitList = this.fruitList.filter(item => item.id != id)},add(id) {const fruit = this.fruitList.find(item => item.id === id)fruit.num++;},sub(id) {const fruit = this.fruitList.find(item => item.id === id)fruit.num--;}},computed: {isAll: {get() {return this.fruitList.every(item => item.isChecked)},set(value) {this.fruitList.forEach(item => item.isChecked = value)}},totalPrice() {return this.fruitList.reduce((sum, item) => {if (item.isChecked) {return sum += item.price * item.num} else {return sum}}, 0)},totalNum() {return this.fruitList.reduce((sum, item) => {if (item.isChecked) {return sum += item.num} else {return sum}}, 0)}},watch: {fruitList: {deep: true,handler(newValue) {localStorage.setItem("list", JSON.stringify(newValue))}}}})</script>
</body></html>

css代码

index.css

.app-container {padding-bottom: 300px;width: 800px;margin: 0 auto;
}
@media screen and (max-width: 800px) {.app-container {width: 600px;}
}
.app-container .banner-box {border-radius: 20px;overflow: hidden;margin-bottom: 10px;
}
.app-container .banner-box img {width: 100%;
}
.app-container .nav-box {background: #ddedec;height: 60px;border-radius: 10px;padding-left: 20px;display: flex;align-items: center;
}
.app-container .nav-box .my-nav {display: inline-block;background: #5fca71;border-radius: 5px;width: 90px;height: 35px;color: white;text-align: center;line-height: 35px;margin-right: 10px;
}.breadcrumb {font-size: 16px;color: gray;
}
.table {width: 100%;text-align: left;border-radius: 2px 2px 0 0;border-collapse: separate;border-spacing: 0;
}
.th {color: rgba(0, 0, 0, 0.85);font-weight: 500;text-align: left;background: #fafafa;border-bottom: 1px solid #f0f0f0;transition: background 0.3s ease;
}
.th.num-th {flex: 1.5;
}
.th {text-align: center;
}
.th:nth-child(4),
.th:nth-child(5),
.th:nth-child(6),
.th:nth-child(7) {text-align: center;
}
.th.th-pic {flex: 1.3;
}
.th:nth-child(6) {flex: 1.3;
}.th,
.td {position: relative;padding: 16px 16px;overflow-wrap: break-word;flex: 1;
}
.pick-td {font-size: 14px;
}
.main,
.empty {border: 1px solid #f0f0f0;margin-top: 10px;
}
.tr {display: flex;cursor: pointer;border-bottom: 1px solid #ebeef5;
}
.tr.active {background-color: #f5f7fa;
}
.td {display: flex;justify-content: center;align-items: center;
}.table img {width: 100px;height: 100px;
}button {outline: 0;box-shadow: none;color: #fff;background: #d9363e;border-color: #d9363e;color: #fff;background: #d9363e;border-color: #d9363e;line-height: 1.5715;position: relative;display: inline-block;font-weight: 400;white-space: nowrap;text-align: center;background-image: none;border: 1px solid transparent;box-shadow: 0 2px 0 rgb(0 0 0 / 2%);cursor: pointer;transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;touch-action: manipulation;height: 32px;padding: 4px 15px;font-size: 14px;border-radius: 2px;
}
button.pay {background-color: #3f85ed;margin-left: 20px;
}.bottom {height: 60px;display: flex;align-items: center;justify-content: space-between;padding-right: 20px;border: 1px solid #f0f0f0;border-top: none;padding-left: 20px;
}
.right-box {display: flex;align-items: center;
}
.check-all {cursor: pointer;
}
.price {color: hotpink;font-size: 30px;font-weight: 700;
}
.price-box {display: flex;align-items: center;
}
.empty {padding: 20px;text-align: center;font-size: 30px;color: #909399;
}
.my-input-number {display: flex;
}
.my-input-number button {height: 40px;color: #333;border: 1px solid #dcdfe6;background-color: #f5f7fa;
}
.my-input-number button:disabled {cursor: not-allowed!important;
}
.my-input-number .my-input__inner {height: 40px;width: 50px;padding: 0;border: none;border-top: 1px solid #dcdfe6;border-bottom: 1px solid #dcdfe6;
}

inputNumber.css

  position: relative;display: inline-block;width: 140px;line-height: 38px;
}
.my-input-number span {-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;
}
.my-input-number .my-input {display: block;position: relative;font-size: 14px;width: 100%;
}
.my-input-number .my-input__inner {-webkit-appearance: none;background-color: #fff;background-image: none;border-radius: 4px;border: 1px solid #dcdfe6;box-sizing: border-box;color: #606266;display: inline-block;font-size: inherit;height: 40px;line-height: 40px;outline: none;padding: 0 15px;transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);width: 100%;padding-left: 50px;padding-right: 50px;text-align: center;
}
.my-input-number .my-input-number__decrease,
.my-input-number .my-input-number__increase {position: absolute;z-index: 1;top: 1px;width: 40px;height: auto;text-align: center;background: #f5f7fa;color: #606266;cursor: pointer;font-size: 13px;
}
.my-input-number .my-input-number__decrease {left: 1px;border-radius: 4px 0 0 4px;border-right: 1px solid #dcdfe6;
}
.my-input-number .my-input-number__increase {right: 1px;border-radius: 0 4px 4px 0;border-left: 1px solid #dcdfe6;
}
.my-input-number .my-input-number__decrease.is-disabled,
.my-input-number .my-input-number__increase.is-disabled {color: #c0c4cc;cursor: not-allowed;
}
http://www.hrbkazy.com/news/39826.html

相关文章:

  • 网站流量统计表格企业网站推广模式
  • 平台网站如何做推广关键词排名查询软件
  • 网站维护要多久时间宁波seo咨询
  • 代码素材网站哪个好seo网站推广是什么
  • wordpress修改手机端幻灯片网站优化一年多少钱
  • 网站建设图片关键词优化一般收费价格
  • wordpress中的邮箱站长工具seo综合查询网
  • 网页设计案例教程杨松答案seo推广的方法
  • 建材网站建设 南宁百度竞价排名魏则西事件分析
  • 无锡市新吴区建设环保局网站百度的竞价排名是哪种方式
  • 做360网站优化关键词竞价排名名词解释
  • 高端手机网站设计东营网站seo
  • qq推广设置中心seo去哪里学
  • 淘金网站建设推广国家认可的教育培训机构
  • 用c做网站自助建站官网
  • 做医疗的网站建设网络营销服务公司
  • 乌鲁木齐建设银行招聘网站有什么功能
  • 网站维护 关站 seo哈尔滨网站建设
  • 建设网站要多少费用网上销售培训课程
  • 开网站做一个交易所怎么做发软文
  • 怎么用VS2012建设网站小小课堂seo自学网
  • 汉阳放心的建站企丿网站及搜索引擎优化建议
  • windows7做网站永久免费自助建站系统
  • 360推广手机优化大师下载安装
  • 朋友圈海报用什么网站做的安徽seo优化规则
  • 园林景观网站源码大数据查询个人信息
  • 响应式网站建设教程做网络推广工作怎么样
  • 网站建设之数据信息的保密性长沙网站包年优化
  • 有关网站开发的国外书籍手机网站建设价格
  • 西安网站制作开发公司哪家好如何自建网站