亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript實現的購物車效果可以運用在好多地方

2019-11-20 20:40:01
字體:
來源:轉載
供稿:網友
JavaScript實現的購物車效果,當然這個效果可以運用在好多地方,比如好友的選擇,人力資源模塊,計算薪資,人員的選擇等等。下面看類似某種購物車的效果圖:

code:

goodsCar.js:這個js寫成了一個單獨的文件。主要是控制上面的列表顯示的。
復制代碼 代碼如下:

window.onload=function(){
initStore();
};
var goods=["火腿","美女","御姐","火星一日游","跑車"];
//==================為什么要定義一個臨時存儲區要想清楚哦=============
var temps=[];//臨時存儲
//初始化倉庫select 添加內容
function initStore(){
var select_store=document.getElementById("select_store");
for(var x=0;x<goods.length;x++)
{
//創建option對象
var optionNode=document.createElement("option");
optionNode.innerHTML=goods[x];
select_store.appendChild(optionNode);
}
}
//------------------------------------
function selectGoods(){
//獲取store的select列表對象
var out_store=document.getElementById("select_store");
//獲取我的商品的select列表對象
var in_store=document.getElementById("select_my");
moveGoods(in_store,out_store);
}
function deleteGoods(){
//1.記錄下要移動的產品
var in_store=document.getElementById("select_store");
var out_store=document.getElementById("select_my");
moveGoods(in_store,out_store);
}
/*
* 移動商品:
1.inSotre:將商品移入倉庫
2.outStore:將商品移出倉庫
*/
//移動
function moveGoods(inStore,outStore){
//===============清空數組緩存==================
temps=[];
//循環獲取store中的所有列表項
for(var x=0;x<outStore.options.length;x++)
{
var option=outStore.options[x];
//將被選中的列表項添加到臨時數組中存儲
if(option.selected){
temps.push(option);//臨時數組中添加數據,為了避免重復,數組緩存要清空
}
}
//2.在store列表中刪除已經選中的物品
//3.在購物車中添加已經選擇的產品
for(var x=0;x<temps.length;x++)
{
//每一個節點都只有一個父節點
//先刪除后添加
outStore.removeChild(temps[x]);
//添加
inStore.appendChild(temps[x]);
}
}

下面是主文件;
復制代碼 代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
table{
border:10px;
}
select{
width:200px;
height:400px;
}
#order_area{
display:none;
}
</style>
<script type="text/javascript" src="goodsCar.js"></script>
<script type="text/javascript">
var selectedGoods=[];//緩存區域
//根據購物車中的產品,生成訂單
function createOrder(){
//顯示訂單區域
var orderAreaDiv=document.getElementById("order_area");
/*div對象下面有一個成員對象style,通過這個style對象可以控制div的樣式
display:表示這個對象或者叫div這個元素在文檔中是否渲染
可用的值:
block: Object is rendered as a block element.
none :Object is not rendered.
.......
在這個實例中,就用以上兩個值就ok了,上面內容來自文檔
*/
//用節點對象的屬性操作樣式
orderAreaDiv.style.display="block";
var select_my=document.getElementById("select_my");
for(var x=0;x<select_my.options.length;x++){
//
var optNode=select_my.options[x];
selectedGoods.push(optNode.innerHTML);
}
//遍歷產品,生成訂單
for(var x=0;x<selectedGoods.length;x++){
///*動態生成數據的模板
//<div><!--name屬性便于查找-->
//<input type="checkbox" name="myorder"><span>大帥哥 20元</span>
//</div>
//*/
var divNode =document.createElement("div");
orderAreaDiv.appendChild(divNode);
var inputMyOrder=document.createElement("input");
inputMyOrder.setAttribute("type","checkbox");
inputMyOrder.setAttribute("name","myorder");
divNode.appendChild(inputMyOrder);
var spanNode=document.createElement("span");
//隨機生成一個50到100的隨機數
var price=Math.floor(Math.random()*50+50);
inputMyOrder.value=price;
spanNode.innerHTML=selectedGoods[x]+" "+price;
divNode.appendChild(spanNode);
//inputMyOrder.appendChild(spanNode);錯誤,因為span和input是同級元素

//生組裝好的divNode添加到 orderlist中
var order_list = document.getElementById("order_list");
order_list.appendChild(divNode);
}
}
/*
* 再生成的訂單中仍然可以選擇哪些訂單是準備付款的,然后進行付款
三種選擇方式:全選:1,不選:0,反選:2;checkbox自己的功能可以多選
*/
function mySelect(arg){
//getElementsByName:根據 NAME 標簽屬性的值獲取對象的集合。
var orders = document.getElementsByName("myorder");
//在寫代碼的過程中錯誤的運用了下面這一句話
//getElementsByTagName:獲取基于指定元素名稱的對象集合。
//var orders=document.getElementsByTagName("myorder");
for(var x=0;x<orders.length;x++){
var order=orders[x];
if(arg=="1"){
order.checked=true;
}
else if(arg=="0"){
order.checked=false;
}
else if(arg=="2"){
order.checked=!order.checked;
}
}
}
//結賬買單,這里面用對話款彈出的所有商品的金額做演示
function payMoney(){
var orders = document.getElementsByName("myorder");
//總價
var sum=0;
for(var x=0;x<orders.length;x++){
var order = orders[x];
if(order.checked){
//確定要買的。
sum=sum+Number(order.value);
}
}

alert("您看看您是不是要支付"+sum+"元");
}
</script>
</head>
<body>
<table>
<tr>
<td>
<!-- select 對象的multiple的屬性的含義:設置或獲取表明列表中是否可選中多個項目的 Boolean 值 -->
<select id="select_store" multiple="multiple">
<optgroup label="產品列表"></optgroup>
</select>
</td>
<td>
<input type="button" value=">>" onclick="selectGoods();"/><br>
<input type="button" value="<<" onclick="deleteGoods();"/>
</td>
<td>
<select id="select_my" multiple="multiple">
<optgroup label="我的購物車"></optgroup>
</select>
</td>
<td><input type="button" value="生成訂單" onclick="createOrder();"/></td>
</tr>
</table>
<hr/>
<div id="order_area">
<h3>請選擇您要購買的產品:</h3>
<div id="order_list">
<!-- <div>
<input type="checkbox"><span>大帥哥 20元</span>
</div>-->
</div>
<input type="button" value="全選" onclick="mySelect('1');"/>
<input type="button" value="不選" onclick="mySelect('0');"/>
<input type="button" value="反選" onclick="mySelect('2');"/><br>
<input type="button" value="付款啦" onclick="payMoney();"/>
</div>
</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
68精品国产免费久久久久久婷婷| 亚洲免费电影在线观看| 国产精品美女呻吟| 国产中文日韩欧美| 亚洲人成电影在线播放| 亚洲精品国偷自产在线99热| 日韩中文字幕网址| 亚洲bt欧美bt日本bt| 久久中文字幕视频| 久久这里只有精品视频首页| 蜜臀久久99精品久久久久久宅男| 中文字幕亚洲专区| 欧美激情第一页xxx| 日韩视频免费观看| 精品国产一区二区三区四区在线观看| 2019国产精品自在线拍国产不卡| 久久精品国产一区二区三区| 亚洲欧美日韩精品久久奇米色影视| 亚洲美女黄色片| 综合网日日天干夜夜久久| 久久人人爽人人爽爽久久| 亚洲国产99精品国自产| 国产欧美日韩综合精品| 奇米成人av国产一区二区三区| 欧美激情免费视频| 欧美多人爱爱视频网站| 日韩激情在线视频| 国产精品亚洲视频在线观看| 欧美日韩福利视频| 欧美精品电影免费在线观看| 欧美在线视频a| 欧美极品少妇与黑人| 国产在线视频2019最新视频| 国产精品国产三级国产aⅴ浪潮| 国产欧美日韩视频| 欧美激情视频一区二区三区不卡| 欧美激情va永久在线播放| 懂色av一区二区三区| 欧美性猛交xxxx黑人| 亚洲激情小视频| 亚洲精品美女在线观看播放| 亚洲欧美精品中文字幕在线| 亚洲级视频在线观看免费1级| 精品高清美女精品国产区| 欧美日韩国产成人在线观看| 中文字幕精品久久久久| 日韩精品亚洲元码| 91久久精品日日躁夜夜躁国产| 亚洲影院污污.| 97超级碰碰碰久久久| 中文字幕欧美精品日韩中文字幕| 亚洲一区二区久久久| 在线播放日韩精品| 欧美性猛交视频| 色偷偷噜噜噜亚洲男人| 欧美精品激情在线| 欧美性xxxxxx| 久久人人爽人人爽爽久久| 亚洲一区二区久久久久久| 色悠久久久久综合先锋影音下载| 午夜精品一区二区三区在线视| 国产日韩中文字幕在线| 98精品国产自产在线观看| 国产成人福利网站| 国产精品夜色7777狼人| 黑人巨大精品欧美一区二区三区| 97精品视频在线播放| 欧美电影在线观看网站| 久久亚洲精品中文字幕冲田杏梨| 色综合导航网站| 欧美日本高清视频| 国产精品jvid在线观看蜜臀| 久久视频免费观看| 亚洲欧美国产视频| 国产成人精品在线视频| 久久国产精品网站| 操人视频在线观看欧美| 久久精品国产电影| 久久99精品视频一区97| 久久久精品视频成人| 久久精品久久久久| 欧美日韩国产丝袜美女| 亚洲午夜未满十八勿入免费观看全集| 原创国产精品91| 美女精品久久久| 亚洲欧美在线免费| 成年人精品视频| 中文字幕日韩av综合精品| 国内精品久久久久久影视8| 亚洲国语精品自产拍在线观看| 91在线精品播放| 久热精品视频在线免费观看| 亚洲最新在线视频| 自拍偷拍亚洲一区| 日韩免费精品视频| 国产午夜精品一区理论片飘花| 国产精品久久久av久久久| 欧美国产视频日韩| 在线午夜精品自拍| 欧美在线观看网址综合| 色综合五月天导航| 欧美网站在线观看| 亚洲九九九在线观看| 欧美高清视频在线| 久久久久久久久久久成人| 亚洲男女自偷自拍图片另类| 亚洲自拍偷拍福利| 亚洲电影免费观看高清完整版在线观看| 国产视频一区在线| 日本不卡高字幕在线2019| 久久影视三级福利片| 日韩欧美在线免费| 国产综合久久久久久| 不卡伊人av在线播放| 97视频在线观看免费高清完整版在线观看| 国产欧美日韩中文字幕在线| 日产日韩在线亚洲欧美| 97热在线精品视频在线观看| 亚洲精品中文字幕女同| 久久这里只有精品视频首页| 日本人成精品视频在线| 亚洲国产精品国自产拍av秋霞| 亚洲国产精品电影| 久久久国产一区二区三区| 亚洲精品国产精品国自产观看浪潮| 海角国产乱辈乱精品视频| 欧美成人亚洲成人日韩成人| 国内免费久久久久久久久久久| 57pao成人永久免费视频| 国语自产在线不卡| 日本精品视频在线播放| 精品国产91久久久久久老师| 在线精品国产欧美| 国产噜噜噜噜噜久久久久久久久| 国产91久久婷婷一区二区| 98视频在线噜噜噜国产| 2019亚洲日韩新视频| 日韩欧美综合在线视频| 中文字幕免费精品一区高清| 欧美福利视频网站| 久久99精品久久久久久青青91| 欧美日韩一区二区免费在线观看| 中文字幕av一区中文字幕天堂| 91在线观看免费网站| 国产日韩欧美一二三区| 最近中文字幕2019免费| 毛片精品免费在线观看| 日韩精品免费在线观看| 日韩av第一页| 97精品在线视频| 中文字幕免费精品一区高清| 人人澡人人澡人人看欧美| 九九精品视频在线| 欧美第一页在线| 国产精品一区二区久久国产| 日韩美女福利视频| 麻豆乱码国产一区二区三区| 欧美精品www在线观看| 91国产一区在线| 激情久久av一区av二区av三区| 国产精品第一第二| 久久久久久一区二区三区| 欧美日韩国产精品一区二区不卡中文| 狠狠躁天天躁日日躁欧美|