JavaScript,水果购物车,JavaScript实现html页面增加,删除,修改单价

尚硅谷的2022javaweb教程,Html+css+JavaScript做一个水果小票购物车,完成添加,删除,修改单价操作。
摘要由CSDN通过智能技术生成

eg.水果购物车项目

大家好,这里是从头开始学java的一名初学者程序员,我会把我自己学习过程中做的所有笔记,和用来练习的项目代码整理到git上面,学习Java笔记与代码,欢迎大家交流查看。

尚硅谷的2022javaweb教程,Html+css+JavaScript做一个水果小票购物车,完成添加,删除,修改单价操作。

尚硅谷丨2022版JavaWeb教程
目前只看到p17,更新第一部分内容笔记与代码,与遇到的问题

使用鼠标事件实现表格行变色

window.onload=function(){
   
	//通过id获取到表格
	var fruitTbl=document.getElementById("tbl_fruit");
	var rows=fruitTbl.rows;//获取表格中的所有行
	for(var i=0;i<rows.length;i++){
   
		var tr=rows[i];
		tr.onmouseover=showColor;//指绑定这个事件,没有小括号
		tr.onmouseout=clearColor;
	}
}
function showColor () {
   
	// event当前事件
	// srcElement事件源
	if(event && event.srcElement && event.srcElement.tagName=="TD"){
   
		var td=event.srcElement;
		var tr=td.parentElement;//表示获取td的父元素tr
		//用.style来设置某某的样式属性
		tr.style.backgroundColor="aquamarine"
	}
	
}

function clearColor(){
   
	if(event && event.srcElement && event.srcElement.tagName=="TD"){
   
		var td=event.srcElement;
		var tr=td.parentElement;//表示获取td的父元素tr
		tr.style.backgroundColor="transparent";
		
	}
}

点一下单价出现输入框

function editPrice(){
   
	if(event && event.srcElement && event.srcElement.tagName=="TD"){
   
		var priceTD=event.srcElement;
		//获取节点的内部文本
		var oldprice=priceTD.innerText;
		//任何一个节点有一个方法属性
		//表示设置当前节点的内部附上一段html代码
		priceTD.innerHTML="<input type='text' size='4' />";
		var input=priceTD.firstChild;
		if(input.tagName=="INPUT"){
   
			input.value=oldprice;
		}
		
	}
}

问题是,如果点到输入框外面,就会再获取一次,再获取的话,没有东西了,点第二遍就会有错。

解决方法,可以做个判断,判断一下要是读到个文本节点,才做这些事情

接下来做失去焦点,实现更改单价的功能,在单价框中输入单价后,可以更改单价。

更改小计和总计

//点击单元格时变成输入框
function editPrice() {
   
	if (event && event.srcElement && event.srcElement.tagName == "TD") {
   
		var priceTD = event.srcElement;
		if (priceTD.firstChild.nodeType == 3) //判断一下要是读到个文本节点,才做这些事情
		{
   
			//获取节点的内部文本
			var oldprice = priceTD.innerText;
			//任何一个节点有一个方法属性
			//表示设置当前节点的内部附上一段html代码
			priceTD.innerHTML = "<input type='text' size='1' />";
			var input = priceTD.firstChild;
			if (input.tagName == "INPUT") {
   
				input.value = oldprice;
				//选中内部的文本
				input.select();
				//然后用这个文本更新单元格,这里原理是失去焦点以后做的事
				input.onblur=updatePrice;
				input.onkeydown=checkInput;
			}

		}

	}
}
function checkInput()//检验键盘按下的事件
{
   
	var kc
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这是一个简易购物静态页面的示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>购物</title> <style> /* CSS样式 */ .container { width: 80%; margin: 0 auto; } .item { display: flex; align-items: center; margin-bottom: 20px; } .item img { width: 100px; height: 100px; margin-right: 20px; } .item p { margin: 0; } .total { text-align: right; margin-top: 20px; font-size: 20px; } </style> </head> <body> <div class="container"> <h1>我的购物</h1> <div class="item"> <img src="item1.jpg" alt="商品1"> <p>商品名称:商品1</p> <p>价格:$100</p> </div> <div class="item"> <img src="item2.jpg" alt="商品2"> <p>商品名称:商品2</p> <p>价格:$150</p> </div> <div class="total"> 总价:$250 </div> </div> <script> // JavaScript逻辑 // 这里可以添加一些交互逻辑,比如点击商品可以跳转到商品详情页面等 </script> </body> </html> ``` 以上是一个简单的HTML静态页面,通过CSS进行样式的设置,再通过JavaScript添加一些交互逻辑。这个页面展示了一个简单的购物,包括商品图片、商品名称、价格以及总价。用户可以在这个页面上查看已选商品,并且可以通过JavaScript添加一些交互逻辑,比如点击商品可以跳转到商品详情页面等。这样的静态页面可以作为购物的基础页面,之后可以通过后端逻辑实现购物的添加、删除、结算等功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值