js簡易版購物車功能
更新時間:2017年06月17日 09:46:10 作者:yesbuy201701
這篇文章主要為大家分享了js簡易版的購物車,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了js購物車功能的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
li {
list-style: none;
}
li {
float: left;
width: 200px;
border: 1px #000 solid;
margin: 10px;
}
li img {
width: 200px;
}
p {
height: 20px;
border-bottom: 1px #333 dashed;
}
#bus {
width: 600px;
border: 1px #000 solid;
height: 300px;
clear: both;
}
.box1 {
float: left;
width: 200px;
}
.box2 {
float: left;
width: 200px;
}
.box3 {
float: left;
width: 200px;
}
#allMoney {
float: right;
}
</style>
<script>
window.onload = function() {
var oList = document.getElementById('list');
var aLi = oList.getElementsByTagName('li');
var oBus = document.getElementById('bus');
var obj = {};
var iNum = 0;
var allMoney = 0;
for (var i = 0; i < aLi.length; i++) {
aLi[i].ondragstart = function(ev) {
//點(diǎn)擊拖拽元素的時候,就設(shè)置數(shù)據(jù),以后放到購物車的時候數(shù)據(jù)就可以傳過去了
var ev = ev || window.event;
var aP = this.getElementsByTagName('p');
ev.dataTransfer.setData('title', aP[0].innerHTML);
ev.dataTransfer.setData('price', aP[1].innerHTML);
ev.dataTransfer.setDragImage(this, 0, 0);
}
}
oBus.ondragover = function(ev) {
//阻止鼠標(biāo)默認(rèn)事件
var ev = ev || event;
ev.preventDefault();
};
oBus.ondrop = function(ev) {
var ev = ev || event;
var title = ev.dataTransfer.getData('title');
var price = ev.dataTransfer.getData('price');
if(!obj[title]){
var oP = document.createElement('p');
var oSpan = document.createElement('span');
oSpan.className = 'box1';
oSpan.innerHTML = 1;
oP.appendChild(oSpan);
var oSpan = document.createElement('span');
oSpan.className = 'box2';
oSpan.innerHTML = title;
oP.appendChild(oSpan);
var oSpan = document.createElement('span');
oSpan.className = 'box3';
oSpan.innerHTML = price;
oP.appendChild(oSpan);
oBus.appendChild(oP);
obj[title] = 1;
}else{
var box1 = document.getElementsByClassName('box1');
var box2 = document.getElementsByClassName('box2');
for(var i=0;i<box2.length;i++){
if(box2[i].innerHTML == title){
box1[i].innerHTML = parseInt(box1[i].innerHTML) + 1;
};
};
};
//總價
if(!allMoney){
allMoney = document.createElement('div');
allMoney.id = 'allMoney';
}
iNum += parseInt(price);
allMoney.innerHTML = '¥'+iNum;
oBus.appendChild(allMoney);
};
};
</script>
</head>
<body>
<ul id="list">
<li draggable="true">
<img src="img/img1.jpg" />
<p>javascript語言精粹</p>
<p>40¥</p>
</li>
<li draggable="true">
<img src="img/img2.jpg" />
<p>javascript權(quán)威指南</p>
<p>120¥</p>
</li>
<li draggable="true">
<img src="img/img3.jpg" />
<p>精通javascript</p>
<p>35¥</p>
</li>
<li draggable="true">
<img src="img/img4.jpg" />
<p>DOM編程藝術(shù)</p>
<p>45¥</p>
</ul>
<div id="bus"></div>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- js購物車實(shí)現(xiàn)思路及代碼(個人感覺不錯)
- Javascript操縱Cookie實(shí)現(xiàn)購物車程序
- 簡單的前端js+ajax 購物車框架(入門篇)
- js實(shí)現(xiàn)簡單的購物車有圖有代碼
- 原生js模擬淘寶購物車項(xiàng)目實(shí)戰(zhàn)
- JavaScript編寫一個簡易購物車功能
- 基于Vuejs實(shí)現(xiàn)購物車功能
- Javascript操縱Cookie實(shí)現(xiàn)購物車程序
- 利用Angularjs和bootstrap實(shí)現(xiàn)購物車功能
- js+cookies實(shí)現(xiàn)懸浮購物車的方法
相關(guān)文章
JavaScript使用享元模式實(shí)現(xiàn)文件上傳優(yōu)化操作示例
這篇文章主要介紹了JavaScript使用享元模式實(shí)現(xiàn)文件上傳優(yōu)化操作,結(jié)合實(shí)例形式分析了javascript基于享元模式進(jìn)行文件上傳優(yōu)化操作的原理、步驟及相關(guān)使用技巧,需要的朋友可以參考下2018-08-08
前端使用crypto.js進(jìn)行加密的函數(shù)代碼
最近在使用Cookies加密保存數(shù)據(jù)的時候,接觸到crypto,使用還算簡單,在這里記錄一下2020-08-08
JavaScript多種濾鏡算法實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了JavaScript多種濾鏡算法實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12
Layui 導(dǎo)航默認(rèn)展開和菜單欄選中高亮設(shè)置的方法
今天小編就為大家分享一篇Layui 導(dǎo)航默認(rèn)展開和菜單欄選中高亮設(shè)置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
ExtJs使用自定義插件動態(tài)保存表頭配置(隱藏或顯示)
這篇文章主要介紹了ExtJs使用自定義插件動態(tài)保存表頭配置(隱藏或顯示) ,需要的朋友可以參考下2018-09-09

