Js 基础学习之--模拟加入购物车

Js 基础学习之--模拟加入购物车
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>购物车</title>
	<style type="text/css">
		*{margin:0; padding: 0; font-size: 14px; font-family: 微软雅黑;}
		ul li{list-style:none;}
		.clear{clear: left;}
		#products{
			width: 1100px;
			margin: 10px auto;
		}
		#products li{
			width:260px;
			float: left;
			border:solid 1px #E9E9E9;
			margin-right:10px;
		}
		#products li span{
			display: block;
			width: 100%;
			text-align:center;
		}
		#products li em{
			font-size:24px;
			font-family: Arial;
			color:#E4393C;
			display: block;
			margin-left: 20px;
		}
		#products li p{
			color:#333;
			margin: 10px 0 0 20px;
		}
		#products li a{
			display: block;
			width: 120px;
			height: 30px;
			line-height: 30px;
			border: solid 1px #DDDDDD;
			text-align: center;
			margin: 20px auto;
			text-decoration: none;
			color:#E4393C;
		}
		#products li a:hover{
			border: solid 1px #E4393C;
		}
		.shopcart{
			width:1100px;
			margin: 50px auto;
		}
		.shopcart h1{
			font-size:18px;
			color:#E4393C;
			border-bottom:solid 4px #E9E9E9;
			padding-bottom: 10px;
		}
		.shopcart .list-head{
			width: 96%;
			background: #F3F3F3;
			height: 40px;
			line-height: 40px;
			padding:0 2% 0 2%;
		}
		.shopcart .list-head div{
			float:left;
		}
		.h1,.c1{width: 60%;}
		.h2,.c2{width: 20%;}
		.h3,.c3{width: 20%; }
		#cart-list .pl{
			width: 100%;
			height: 94px;
			border-bottom:solid 1px #C5C5C5;
			clear: left;
		}
		#cart-list .pl div{
			float: left;
			height: 94px;
			line-height: 94px;
			background: #FFF4E8;
		}
		#cart-list div span{
			display: block;
			float: left;
			padding: 5px 0 0 20px;
		}
		#cart-list div p{
			float: left;
			padding-left: 20px;
		}
		#cart-list div span img{
			width:80px;
		}
		.pl a{
			color:#666;
			text-decoration: none;
		}
		.pl a:hover{
			color:#ff0000;
			text-decoration: underline;
		}
	</style>
	<script src="js/cookie.js"></script>
	<script>
		window.onload = function(){
			var date = new Date();
			date.setDate(date.getDate() + 3);
			var products = document.getElementById("products");
			var btn = products.getElementsByTagName("a");
			var productList = document.getElementById("cart-list");
			function getShopList(){
					var html = "";
					//获取Cookie的内容
					var cookieNow = getCookie("products");
					//判断cookie数组是否为空
					var arr = cookieNow == ""? []:cookieNow.split("|");
					for(var i = 0;i < arr.length ; i++){
					  html += "<div class='pl'>"
								+ "<div class='c1'>"
								+ "<span>" + arr[i].split("#")[0] +"</span>"
								+ "<p>" + arr[i].split("#")[2] + "</p>"
								+ "</div>"
								+ "<div class='c2'>"+ arr[i].split("#")[1] +"</div>"
								+ "<div class='c3'><a href='javascript:;'" 
								+"οnclick='delShop(this)'>删除</a></div>"
								+ "</div>";
					}
					//将购物商品加入购物车
					productList.innerHTML = html;
			}
			   		getShopList();
			for(var i = 0;i < btn.length; i++){
				btn[i].onclick = function(){
					//获取商品信息
					var productsImg = this.parentNode.children[0].innerHTML;
					var productsPrice = this.parentNode.children[1].innerHTML;
					var productsName = this.parentNode.children[2].innerHTML;
					var oldCookievalue = getCookie("products");
					//alert(oldCookievalue);
					if(oldCookievalue == ""){
						var str = productsImg + "#" +productsPrice + "#" + productsName;
						//console.log(str);
					}
					else{
						var str = oldCookievalue + "|" + productsImg + "#" +productsPrice + "#" + productsName;
						//console.log(str);
					}
					setCookie2("products",str,date); 
				   //加入购物车
				   		getShopList();
					
				}	
			}
		}
		function delProduct(obj){
			document.getElementById("cart-list").removeChild(obj.parentNode.parentNode);
		}
		function delShop(obj){
			obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
			var cookieValue = getCookie();
			console.log(oldCookievalue);
		}
	</script>
</head>
<body>
	<div id="products">
		<ul>
			<li>
				<span><img src="img/1.jpg"></span>
				<em>¥2999</em>
				<p>乐视超级电视 S50</p>	
				<a href="javascript:;">加入购物车</a>
			</li>
			<li>
				<span><img src="img/2.jpg"></span>
				<em>¥3999</em>
				<p>乐视超级电视 S60</p>
				<a href="javascript:;">加入购物车</a>
			</li>
			<li>
				<span><img src="img/3.jpg"></span>
				<em>¥4999</em>
				<p>乐视超级电视 S70</p>
				<a href="javascript:;">加入购物车</a>
			</li>
			<li>
				<span><img src="img/4.jpg"></span>
				<em>¥5999</em>
				<p>乐视超级电视 S80</p>
				<a href="javascript:;">加入购物车</a>
			</li>
		</ul>
	</div>
	<div class="clear"></div>
	<div class="shopcart">
		<h1>全部商品</h1>
		<div class="list-head">
			<div class="h1">商品名称</div>
			<div class="h2">价格</div>
			<div class="h3">操作</div>
		</div>
		<div id="cart-list">
			<!-- <div class="pl">
				<div class="c1">
				<span><img src="img/1.jpg"></span>
				<p>乐视超级电视 S50</p>
				</div>
				<div class="c2">¥1000</div>
				<div class="c3"><a href="#">删除</a></div>
			</div> -->

		</div>


	</div>
</body>
</html>

cookie的封装函数
  //设置(创建、修改)cookie数据
	//参数1:键值
	//参数2:键名
	function setCookie(key,value){
		document.cookie = key + "=" + encodeURIComponent(value);
	}
    /*
     测试: setCookie("people1","你好1");

     */
	//设置(创建、修改)cookie数据
	//参数1:键值
	//参数2:键名
	//参数3:过期时间
	function setCookie1(key,value,dateTime){
		document.cookie = key + "=" + encodeURIComponent(value)+";expires="+ date;
	}

   /* 
     
     测试: var date = new Date();
	       date.setDate(date.getDate() + 3); 
           setCookie1("people1","你好1",date);

     */

	//设置(创建、修改)cookie数据
	//参数1:键值
	//参数2:键名
	//参数3:过期时间(可以也可以不写)
	function setCookie2(key,value,dateTime){
		var cValue = key + "=" + encodeURIComponent(value);
		if(dateTime){
			cValue = cValue +";expires="+ dateTime;
		}
		 document.cookie = cValue;
		}

    /* 
     
     测试: var date = new Date();
	       date.setDate(date.getDate() + 3); 
           setCookie2("people1","你好1",date);

     */
	
   //获取给定键名的键值
   //参数:给定cookie的键名
   function getCookie(key){
   		var arr = document.cookie.split("; ");
   		//console.log(arr);
   		var keyValue = "";
   		for(var i = 0; i < arr.length; i++){
	   		if(arr[i].split("=")[0] == key){
	   			keyValue = arr[i].split("=")[1];
	   			break;
	   		}
   		}
   		return decodeURIComponent(keyValue);
   }

     /* 

     测试: getcookie("people3");

     */

   //删除给定键名的键值
   //参数:给定cookie的键名
   function delcookie(key){
   		document.cookie = key + "=;expires=" + new Date(0);
   }

  /*
	测试: delcookie("people1");
  */



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是一种可以使用 JavaScript 来创建商城小程序的方法: 1. 首先,你需要准备开发环境。这通常包括安装 Node.js 和相应的包管理工具(比如 npm 或 yarn)。 2. 然后,你需要使用一个框架来开发小程序。有许多不同的框架可供选择,如: - 微信小程序官方提供的开发框架:https://developers.weixin.qq.com/miniprogram/dev/index.html - Taro:https://taro.aotu.io/ - React Native for WeChat:https://github.com/react-native-community/react-native-wechat 3. 在选择了开发框架后,你可以按照框架的文档开始创建小程序。通常情况下,这包括创建 HTML、CSS 和 JavaScript 文件,并使用框架提供的 API 来编写小程序的逻辑。 4. 在开发过程,你可以使用微信开发者工具来查看小程序的效果。该工具可以模拟小程序在真机上的运行效果,方便你调试代码。 5. 当你的小程序开发完成后,你可以使用微信开发者工具将小程序发布到微信小程序平台。在这之后,小程序就可以被用户下载并使用了。 希望这些信息对你有帮助! ### 回答2: 商城小程序是一种通过JavaScript编写的移动应用程序,用于提供在线购物和交易服务。以下是一个简单的商城小程序的代码示例: 1. 首先,我们需要在HTML创建一个包含商城页面布局的结构,包括商品列表、购物车和支付按钮等元素。 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>商城小程序</title> </head> <body> <h1>欢迎来到商城小程序</h1> <div id="shop"> <h2>商品列表</h2> <ul id="product-list"> <li>商品1</li> <li>商品2</li> <li>商品3</li> </ul> <h2>购物车</h2> <ul id="cart"> <!-- 购物车的商品将在JS代码动态添加 --> </ul> <button id="pay-btn">支付</button> </div> <script src="main.js"></script> </body> </html> ``` 2. 接下来,我们需要在JavaScript代码编写实现商城功能的逻辑。首先,我们创建一个变量来存储购物车的商品。 ```javascript // main.js // 购物车数组 let cartItems = []; // 找到商品列表和购物车元素 const productList = document.getElementById('product-list'); const cart = document.getElementById('cart'); // 为每个商品添加点击事件 productList.addEventListener('click', function(event) { // 获取点击的商品名称 const itemName = event.target.innerText; // 将商品添加购物车数组 cartItems.push(itemName); // 创建购物车的商品元素 const cartItem = document.createElement('li'); cartItem.innerText = itemName; // 将购物车的商品元素添加购物车 cart.appendChild(cartItem); }); // 为支付按钮添加点击事件 const payButton = document.getElementById('pay-btn'); payButton.addEventListener('click', function() { // 打印购物车的商品列表 console.log(cartItems); }); ``` 以上代码示例,我们创建了一个空的购物车数组,并使用`addEventListener`方法为商品列表的每个商品添加了点击事件。当用户点击某个商品时,商品的名称将被添加购物车数组,并在购物车显示。同时,点击支付按钮时,购物车的商品列表将被打印在浏览器的控制台。 这只是一个简单的商城小程序的代码示例,实际的商城小程序通常还包括更多功能,如商品搜索、加入购物车的数量显示、商品详情页面等。但这个示例应该能够帮助你开始编写自己的商城小程序。 ### 回答3: 商城小程序是一种基于JS语言编写的小程序,通过使用JS编写代码,可以实现商城小程序的各种功能。以下是一个简单的示例教程,展示如何用JS编写一个商城小程序。 首先,我们需要创建一个名为"商城小程序"的文件夹,并在文件夹内创建一个名为"index.html"的HTML文件。在HTML文件,我们需要引入必要的JS库,例如: ```html <script src="jquery.min.js"></script> <script src="shop.js"></script> ``` 其,"jquery.min.js"是一个流行的JS库,用于简化DOM操作;"shop.js"则是我们编写的商城小程序JS代码的文件。 接下来,我们在"shop.js"文件编写具体的商城小程序代码。下面是一个简单的示例: ```js // 获取商品列表的函数 function getProducts() { // 发送AJAX请求,获取后台商品数据 $.ajax({ url: "getProducts.php", success: function (response) { var products = JSON.parse(response); // 解析后台返回的商品数据,并进行相应的操作 // ... } }); } // 添加商品到购物车函数 function addToCart(product) { // 发送AJAX请求,将商品加入购物车 $.ajax({ url: "addToCart.php", data: product, success: function (response) { // 处理加入购物车的结果 // ... } }); } // 其他功能函数的定义,例如显示购物车、结算等 // 页面加载完成后执行的操作 $(document).ready(function () { getProducts(); // 调用获取商品列表的函数 }); ``` 以上示例代码,我们首先定义了几个函数,例如"getProducts"函数用于获取商品列表,"addToCart"函数用于将商品加入购物车。然后,我们使用jQuery的`$(document).ready`方法,在页面加载完成后调用"getProducts"函数来获取商品列表。 在实际开发,你可以根据需求编写更多的功能函数,并通过事件监听等方式来触发相应的操作。 最后,在服务器上配置相应的后台接口,使前端的AJAX请求能够与后台进行数据交互。这样,你就可以在微信开发者工具或其他小程序开发工具预览并测试你的商城小程序了。 当然,以上仅是一个简单的示例,实际的商城小程序需要结合具体的需求来设计和实现。希望这个回答对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值