JS實現(xiàn)的簡單拖拽購物車功能示例【附源碼下載】
本文實例講述了JS實現(xiàn)的簡單拖拽購物車功能。分享給大家供大家參考,具體如下:
<html> <head> <meta charset="utf-8" /> <title>使用拖放API將商品拖入購物車</title> <style> body { font-size:12px } .liT{ border-bottom:solid 1px #ccc; background-color:#eee; font-weight:bold } .liF{ float:left; margin-right:5px; } ul{ list-style-type:none; padding:0px; height:106px; width:330px } ul li{ height:23px } ul li img{ width:68px; height:96px; border:solid 1px #ccc; padding:3px } ul li span{ float:left; width:70px; padding:5px; } </style> <script type="text/javascript"> function $$(id) { return document.getElementById(id); } //自定義頁面加載時調(diào)用的函數(shù) function pageload() { //獲取全部的圖書商品 var Drag = document.getElementsByTagName("img"); //遍歷每一個圖書商品 for (var intI = 0; intI < Drag.length; intI++) { //為每一個商品添加被拖放元素的dragstart事件 Drag[intI].addEventListener("dragstart", function(e) { var objDtf = e.dataTransfer; objDtf.setData("text/html", addCart(this.title, this.alt, 1)); }, true); } var Cart = $$("ulCart"); //添加目標元素的drop事件 Cart.addEventListener("drop", function(e) { var objDtf = e.dataTransfer; var strHTML = objDtf.getData("text/html"); var num=top_(); Cart.innerHTML += strHTML; document.getElementById("num").innerHTML=num; var price =document.getElementById("price").innerHTML; document.getElementById("sum").innerHTML=num*price; e.preventDefault(); e.stopPropagation(); }, false); } //添加頁面的dragover事件 document.ondragover = function(e) { //阻止默認方法,取消拒絕被拖放 e.preventDefault(); } //添加頁面drop事件 document.ondrop = function(e) { //阻止默認方法,取消拒絕被拖放 e.preventDefault(); } //自定義向購物車中添加記錄的函數(shù) function addCart(a, b, c) { var strHTML = "<li class='liC'>"; strHTML += "<span>" + a + "</span>"; strHTML += "<span id=\"price\">" + b + "</span>"; strHTML += "<span id=\"num\">" + c + "</span>"; strHTML += "<span id=\"sum\">" + b * c + "</span>"; strHTML += "</li>"; return strHTML; } //提示輸入框 function top_(){ var str=prompt("請輸入要購買的數(shù)量",1); return str; } </script> </head> <body onLoad="pageload();"> <ul> <li class="liF"> <img src="images/img02.jpg" id="img02" alt="42" title="2006作品" draggable="true"> </li> <li class="liF"> <img src="images/img03.jpg" id="img03" alt="56" title="2008作品" draggable="true"> </li> <li class="liF"> <img src="images/2.jpg" id="img04" alt="52" title="2010作品" draggable="true"> </li> <li class="liF"> <img src="images/1.jpg" id="img05" alt="59" title="2011作品" draggable="true"> </li> </ul> <ul id="ulCart"> <li class="liT"> <span>書名</span> <span>定價</span> <span>數(shù)量</span> <span>總價</span> </li> </ul> </body> </html>
運行效果:
附:完整實例代碼點擊此處本站下載。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JS實現(xiàn)基于拖拽改變物體大小的方法
- AngularJS實現(xiàn)的簡單拖拽功能示例
- 使用javaScript實現(xiàn)鼠標拖拽事件
- js實現(xiàn)QQ面板拖拽效果(慕課網(wǎng)DOM事件探秘)(全)
- js實現(xiàn)鼠標拖拽多選功能示例
- js實現(xiàn)拖拽上傳圖片功能
- 完美實現(xiàn)js拖拽效果 return false用法詳解
- 簡單實現(xiàn)js拖拽效果
- 基于AngularJS的拖拽文件上傳的實例代碼
- Java實現(xiàn)拖拽文件上傳dropzone.js的簡單使用示例代碼
- JS實現(xiàn)簡單拖拽效果
- JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a
- js實現(xiàn)控制文件拖拽并獲取拖拽內(nèi)容功能
相關(guān)文章
jQuery ajax(復(fù)習(xí))—Baidu ajax request分離版
你沒有看錯標題,本文的確是在講Baidu ajax,不過是很久很久以前的版本了,我們先分析一段簡單的ajax代碼,來自早期的百度七巧板項目通過這個來先復(fù)習(xí)一遍ajax的知識2013-01-01Javascript實現(xiàn)通過選擇周數(shù)顯示開始日和結(jié)束日的實現(xiàn)代碼
這篇文章主要介紹了Javascript實現(xiàn)通過選擇周數(shù)顯示開始日和結(jié)束日的實例代碼的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-05-05Chrome插件開發(fā)系列一:彈窗終結(jié)者開發(fā)實戰(zhàn)
從這一節(jié)開始,我們將從零開始打造我們的chrome插件工具庫,第一節(jié)我們將講一下插件開發(fā)的基礎(chǔ)知識并構(gòu)建一個簡單但卻很實用的插件,在構(gòu)建之前,我們先簡單的了解一下插件以及插件開發(fā)的基礎(chǔ)知識2020-10-10每個 JavaScript 工程師都應(yīng)懂的33個概念
這個項目是為了幫助開發(fā)者掌握 JavaScript 概念而創(chuàng)立的。它不是必備,但在未來學(xué)習(xí)( JavaScript )中,可以作為一篇指南,需要的朋友可以參考下2018-10-10TypeScript判斷兩個數(shù)組的內(nèi)容是否相等的實現(xiàn)
本文主要介紹了TypeScript?判斷兩個數(shù)組的內(nèi)容是否相等,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11