本文實例為大家分享了js購物車功能的具體代碼,供大家參考,具體內容如下
<!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) {
//點擊拖拽元素的時候,就設置數據,以后放到購物車的時候數據就可以傳過去了
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) {
//阻止鼠標默認事件
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權威指南</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編程藝術</p>
<p>45¥</p>
</ul>
<div id="bus"></div>
</body>
</html>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。