angularjs实现的购物车效果代码实例

Angularjs 制作购物车功能实例代码 主要介绍了Angularjs 制作购物车功能实例代码的相关资料,并附示例代码,需要的朋友可以参考下 立即下载

分享一段代码实例,它实现了购物车效果,能够实时计算商品的总价格。

并且选中产品的时候,有相关样式的变化,代码实例如下:

 
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<!doctype html>
< html >
< head >
< meta  charset = "utf-8" >
< title >购物车效果</ title >
< script  type = "text/javascript"  src = "http://apps.bdimg.com/libs/angular.js/1.4.6/angular.js" ></ script >
< style  type = "text/css" >
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}
html {
   font-size: 62.6%;
   font-family: "Microsoft Yahei",sans-serif;
   line-height: 1;
}
a {
   text-decoration: none;
   color: grey;
}
ul, li {
   list-style: none;
}
.checkbox {
   vertical-align: middle;
   display: inline-block;
   width: 20px;
   height: 20px;
   position: relative;
}
.checkbox .box {
   border-radius: 4px;
   position: absolute;
   display: block;
   width: 20px;
   height: 20px;
   border: 2px solid #ccc;
   transition: all 0.5s;
}
.checkbox input[type="checkbox"] {
   position: absolute;
   z-index: 10;
   opacity: 0;
}
.checkbox input:checked + .box {
   border-color: red;
}
.checkbox input:checked + .box::after {
   position: absolute;
   display: block;
   content: ' ';
   width: 10px;
   height: 10px;
   background-color: red;
   top: 3px;
   left: 3px;
}
body {
   font-size: 1.4rem;
}
.wrap {
   margin-top: 3rem;
}
.wrap ul {
   display: block;
   width: 100%;
   margin-bottom: 3rem;
}
.wrap li {
   margin: 1rem auto;
   text-align: center;
   width: 20rem;
   height: 16rem;
   padding: 1rem;
   border: 0.4rem solid #ccc;
   border-radius: 0.8rem;
   transition: all 0.5s;
}
.wrap li.active {
   border-color: rgb(218, 30, 30);
}
.contentW {
   font-size: 1.6rem;
   height: 3.2rem;
   text-align: left;
}
.buttonW a {
   display: inline-block;
   padding: 0.8rem 0.6rem;
   background-color: rgb(218, 30, 30);
   color: #fff;
   font-size: 1.6rem;
   border-radius: 0.4rem;
}
.buttonW .addc {
   vertical-align: middle;
   display: inline-block;
}
a.calc {
   display: inline-block;
   vertical-align: middle;
   border: 1px solid #999;
   width: 22px;
   height: 22px;
   text-align: center;
}
.contentW span {
   display: inline-block;
   vertical-align: middle;
}
.buttonW a.cancel {
   background-color: #FFE47C;
}
.price {
   display: table;
   margin: 0 auto;
}
.price p {
   font-size: 1.8rem;
}
.price a {
   display: inline-block;
   background: rgb(218,30,30);
   padding: 0.8rem 2rem;
   margin-left: 1rem;
   color: #fff;
   border-radius: 0.8rem;
}
a.nobuy {
   border-color: #eee;
   background-color: #ccc;
}
</ style >
</ head >
< body >
   < div  class = "container"  ng-app = "cartApp"  ng-controller = "cartCtrl" >
     < div  class = "wrap" >
       < ul >
         < li  class = "{{fruit.buy?'active':''}}"  ng-repeat = "fruit in fruits"  item={{fruit.id}}>
           < p  class = "contentW" >
             名称:{{fruit.name}}
           </ p >
           < p  class = "contentW" >
             单价:{{fruit.price}}
           </ p >
           < p  class = "contentW" >
             数量:
             < a  href = "javascript:;"  class = "calc {{fruit.num<=1?'nobuy':''}}"  ng-click = "overdue(fruit.id)" >-</ a >
             < span >{{fruit.num}}</ span >
             < a  href = "javascript:;"  class="calc {{fruit.num>=10?'nobuy':''}}" ng-click="add(fruit.id)">+</ a >
           </ p >
           < div  class = "buttonW" >
             < div  class = "checkbox" >
               < input  type = "checkbox"  id = "{{fruit.id}}"  ng-model = "fruit.buy" >
               < span  class = "box" ></ span >
             </ div >
             < label  class = "addc"  for = "{{fruit.id}}" >添加到购物车</ label >
           </ div >
         </ li >
  
       </ ul >
       < div  class = "price" >
         < p >
           总价:{{totalPrice()}}
  
           < a  href = "javascript:;" >去结算</ a >
         </ p >
       </ div >
     </ div >
   </ div >
< script  type = "text/javascript" >
var fruits = [{
   id: 'fruit1',
   name: "苹果",
   price: "10",
   num: 1,
   buy: false
}, {
   id: 'fruit2',
   name: "香蕉",
   price: "1",
   num: 1,
   buy: false
}, {
   id: 'fruit3',
   name: "橘子",
   price: "20",
   num: 1,
   buy: false
}];
  
angular.module('cartApp', [])
   .controller('cartCtrl', function($scope) {
     //取出水果
     $scope.fruits = fruits;
  
     //点击-事件
  
  
     $scope.overdue = function(id) {
       angular.forEach($scope.fruits, function(value, key) {
         if (value.id == id && value.num > 1) {
           $scope.fruits[key].num--;
         }
       });
     }
  
     $scope.add = function(id) {
       angular.forEach($scope.fruits, function(value, key) {
         if (value.id == id && value.num < 10) {
           $scope.fruits[key].num++;
         }
       });
     }
  
     $scope.totalPrice = function() {
       $scope.total = 0;
       angular.forEach($scope.fruits, function(value, key) {
         if (value.buy) {
           $scope.total = $scope.total + value.price * value.num;
         }
       });
       console.log($scope.total)
       return $scope.total;
     }
   });
</ script >
</ body >
</ html >
骗分导论 CSP、NOIP、蓝桥杯、PAT、USACO等竞赛的算法骗分技巧 轻松省三 问题来了,那么多座桥,炸一座就破坏岛屿的联系,可能性微乎其微(除非特别设计数据)。它们的价值极大,不仅能初步帮你检验程序的对错,而且,如果你不会做这道题,你就可以直接输出样例!在OI考试中最后难的题数据最后的几个,他们往往不会创造新的数据,此时就可以直接输出最后几个数据了。需要运用《骗分导论》第3章中学到的知识,先写出朴素算法,然后造一些数据,可能就会发现规律。有些时候,问题的答案可能很有特点:对于大多数情况,答案是一样的。据说,在NOIP2013中,有人最后一题不会,愤然打了个随机数,结果得了。 阅读详情

相关推荐

从零到一:基于Blazor和Elsa Workflows的工作流系统开发实战

本文详细介绍了如何利用Blazor和Elsa Workflows构建高效的工作流系统,从技术选型到生产环境部署,涵盖动态工作流建模、Blazor前端集成及性能优化等核心内容。通过实战案例,展示如何实现订单处理系统的自动化与灵活性,提升企业流程效率。

weixin_26875109的博客 429

angularjs的简易购物代码

$(function(){ $("tbody tr:odd").css("background-color","darkgray");       $("tbody tr:even").css("background-color","lightgray"); })     angular.module("myapp",[]) .controller("ct",functio

changten的博客 342

同花顺CM函数深度解析:如何精准设置历史换手衰减系数以优化筹码峰

本文深度解析同花顺CM函数中的历史换手衰减系数,揭示其如何影响筹码峰准确性。通过拆解CM函数参数,并提供基于前十大流通股东锁定比例的计算公式,指导用户精准设置该系数,从而优化筹码峰模型,使其更真实反映个股持仓成本分布,提升技术分析的有效性。

mango的博客 1796

选取对应的商品

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../angular-1.5.5/angular.min.js"></script> ...

android1986的博客 295

几何非线性-屈曲分析

结构系统的破坏分为两种,一类是因材料软化而引起的强度破坏,另一类是几何软化使得结构的几何形状发生极大变化,从而使结构丧失承载能力。在材料力学中是这样定义压杆失稳的:中心受压直杆(理想模型)在直线状态下平衡,由稳定平衡转化为不稳定平衡时所受的轴向压力的界限值,称为临界压力。中心受压直杆在临界压力的作用下,其直线形态的平衡开始丧失稳定性,简称为失稳。显然,这个定义只使用于理想的压杆模型,那么关于失稳和屈曲是否存在一般性定义呢?

YORU_NO_KUNI的博客 1万+

闲人闲谈PS之一项目库存跨公司业务STO解决方案--SAP闲人的开篇

写这篇文章之前,简单说一下发这篇文章的动机。也算是在SAP这一行干了快10多年,在对一个模块了解越来越深入,越发觉自己的SAP知识浅薄。总的来说,和多数顾问一样,对于**标准功能**的应用业务场景理解还是存在或多或少的知识盲区。 因为一个偶然,看到SAP团子君的文章,分享了很多干货文章。这也是自己一直想做的时候,不管水平高低与否,分享本身就意味着提升。好了废话不多说,先在优快云上发一篇吧,困惑自己将近10年的问题的解决方案。 业务场景:在项目型企业中,通常会有这样的业务,母公司和客...

SAP闲人的博客 9269

angularjs php电商网站,AngularJs应用:实现类似购物页面的一个小例子(附代码)...

本篇文章给大家带来的内容是关于AngularJs应用:实现类似购物页面的一个小例子(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。写个小应用,熟练一下AngularJs.。Page Titlevar myApp=angular.module('myApp',[]);//定义一个控制器var model={//model模块,里面主要包含了数据money:0,items:[...

weixin_42300211的博客 311

C#集成Bartender:动态图片标签打印的实战与优化

本文详细介绍了在C#程序中集成Bartender实现动态图片标签打印的实战方法与优化策略。通过具名数据源绑定、图片对象尺寸控制等核心技巧,解决了动态图片显示/隐藏的难题,并提供了从模板设计、代码架构到性能优化、错误处理的全流程指南,帮助开发者构建稳定高效的工业级标签打印系统。

weixin_29216957的博客 431

Angular 搭建购物车

概览 学习文档:https://angular.cn/start app目录 包含应用的组件和模块,我们要写的代码都在这个目录 index.html 整个应用的根html,程序启动就是访问这个页面 main.ts 整个项目的入口点,Angular通过这个文件来启动项目 每个 Angular 应用都有一个根模块,通常命名为AppModule。根模块提供了用来启动应用的引导机制。 一个应用...

Lakeson 1077

分布式协作方案:OpenClaw多节点部署与设备互联

主从架构或对等架构服务发现与注册机制负载均衡策略选择分布式任务队列优先级调度失败重试机制WebSocket实时通信数据同步引擎冲突解决策略健康检查机制故障自动转移数据复制与恢复通过分布式部署,OpenClaw可以支撑更大规模的业务场景,提供更稳定可靠的AI助手服务。在下一篇文章中,我们将深入探讨安全与权限管理的精细化策略。

gaoxiang_120的专栏 371

PVE虚拟机运行不流畅,出现卡顿。

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 3065

angularjs简单购物车源码

显示: Title 产品编号 产品名字 购买数量 产品单价 产品总价

dancheng1的博客 734

ROS 之 使用yocs_velocity_smoother对机器人速度进行限制

yocs_velocity_smoother是一个速度、加速度限制器,用来防止robot navigation的速度/转速过快,加速度/快减速过大。Bound incoming velocity messages according to robot velocity and acceleration limits. The velocity smoother nodelet runs together with the kobuki_node to apply robot’s velocity and .

https://shixuebin.gitee.io/hexo-blog/ 2623

AngularJs实现商品购物车综合案例完整

概述  主要功能就是结合 Html5+AngularJs+Jquery 实现简易的商品增删改查,以及模糊查询,排序,批量删除等功能预览效果入库模糊查询先把需要依赖的jar包导入(Angularjs包以及jquery包) 其次准备数据源  数据源的获取有两种 一种是通过angular提供的网络服务来获取网络数据,另一种是通过本地获取数据 第一种是通过angular提供的网络服务,是$http

suxiaoran_的博客 1910

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

AngularJs 入门购物车

下面代码是制作了一个简易的购物车,希望可以帮到大家! 我的购物车 * { margin: 0; padding: 0; } /*table {*/ /*border-collapse: collapse;*/

Gorky_19的博客 409

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

AngularJS实现购物车(一)

案例:实现购物车简单的功能 要求:技术要求(html + css + AngularJS) 1.完成下图页面布局(代码、效果无误)。 2.自拟商品数据,通过ng-repeat进行商品遍历及信息展示(代码、效果无误)。 3.每一行数据后面都有一个删除按钮,点击删除按钮时该条数据信息被删除。 4.所有的商品信息都被删除后,商品列表消失。并提示用户购物车为空。 5

wq857260622的博客 424

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

使用AngularJS和HTML做淘宝中购物车的一些功能

使用AngularJS和HTML做淘宝的一些基础功能 今天用HTML和JS实现以下购物车,然后再用Angualrjs再去实现一下购物车的前端实现。 功能页面分析: 既然是做模仿淘宝购物车,肯定要先去分析一下淘宝的购物车页面,自己去淘宝卖了两件东西,看了下效果; 首先有一个全选功能,全选的时候会把所有的单选框给选中,并且会把所有的金额进行统计。

qq_40071033的博客 998

angular实现购物车

一.实现的效果如下 1.  完成页面布局,如图1.1(button按钮可以用普通按钮)(页面布局合理、代码无误各             5分、共10分) 2.声明数据对象,初始化商品信息,数据自拟且不低于四条(代码、效果各5分) 3.  用ng-repaet指令将对象遍历并渲染到页面中(代码、效果各5分) 4.点击”+”按钮输入框中的数量加1(5分),同时

Anni__9468的博客 524

angularjs实现简单购物车案例(有效果图)

最终案例效果: HTNL代码段: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;我的购物车&lt;/title&gt; &lt;link href="css/test.

dengzy 882

jquery-fly实现添加购物车抛物线效果(angular版)

&lt;!DOCTYPE html&gt; &lt;html ng-app="myApp"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta http-equiv="Pragma" content="no-cache"&gt; &lt;meta http

qq_33040483的博客 287

AngularJS--购物车全选/取消全选功能实现

刚学习angularJS,于是练习写了一个类似于购物车的全选/取消全选的功能,主要实现的功能有: 1、勾选全选checkbox,列表数据全部被勾选,取消同理,用ng-model实现双向绑定; 2、选中列表中的所有checkbox,全选也会被勾选;(这里我想到的方法是给每一个对象增加checked字段,然后勾选触发echoChange()函数,用了一个cc变量计算当前checked为true的个数,然后再判断被勾选个数与数组长度是否相等,相等则证明全部被勾选,于是全选按钮也赋值为true;不知道还有没有更简单

xiaozhen0610的博客 425

淘宝购物车前端(JS和Angularjs版本)

今天用HTML和JS实现以下购物车,然后再用Angualrjs加bootstrap再去实现一下购物车的前端实现。功能页面分析:既然是做模仿淘宝购物车,肯定要先去分析一下淘宝的购物车页面,自己去淘宝卖了两件东西,看了下效果;首先有一个全选功能,全选的时候会把所有的单选框给选中,并且会把所有的金额进行统计。商品店铺的单选功能:在选择店铺的时候会把下面的商品全部都给选中,并且统计已经勾选的金额。商品单选

漫长学习路 9116

AngularJS-购物车Demo

简单学习AngularJs

sylcc_的专栏 3876

angularJS 购物车练习

本文是一个简单的购物车练习,功能包括增加、减少某商品的数量,从而影响该商品的购买总价以及所有商品的购买总价;从购物车内移除一项商品;清空购物车。 页面效果如图:     若使用js或jquery来实现这个页面,会需要绑定很多事件,如减少数量按钮事件,增加数量按钮事件,移除某项商品事件,清空购物车事件,而这些事件之中很多代码很重复,比如计算某项商品的总购买价,计算所有商品的购买总价,不胜

xuanwuziyou的专栏 1464

练习购物车2

搭完框架后,该去实现里面的功能了。 首先

xupeng1986的专栏 615

购物车金额计算价格PHP,angularjs实现添加购物车金额计算功能

这次给大家带来angularjs实现添加购物车金额计算功能,angularjs实现添加购物车金额计算功能的注意事项有哪些,下面就是实战案例,一起来看一下。当我们用js或者jquery进行购物车金额计算的时候会非常麻烦,今天,我们用angularjs一种新的方法进行购物车总额的计算.代码如下:angular购物金额计算器价格:数量:运费:{{cup.fee|currency:"¥"}}总金额:{{a...

weixin_39580041的博客 159
上一篇: js点击当前链接背景变色其他链接恢复原来背景色
下一篇: JavaScript圆形钟表效果代码实例
Return_KB
博客等级 码龄9年 23粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值