本文实例讲述了JS实现的简单拖拽购物车功能。分享给大家供大家参考,具体如下:
<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); } //自定义页面加载时调用的函数 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(); } //自定义向购物车中添加记录的函数 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("请输入要购买的数量",1); return str; } </script> </head> <body onLoad="pageload();"> <ul> <li class="liF"> <img src="/UploadFiles/2021-04-02/img02.jpg">运行效果:
附:完整实例代码点击此处本站下载。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
标签:
JS,拖拽,购物车
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“JS实现的简单拖拽购物车功能示例【附源码下载】”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
2024年05月09日
2024年05月09日
- 欢乐钓鱼大师橙色鱼竿哪个好 欢乐钓鱼大师橙色鱼竿选择攻略
- 《最后的克劳迪亚》基础攻略 简述+配置+下载
- 《下一站江湖2》5月3日更新内容介绍
- 《UNO》基础攻略 简述+配置+下载
- 李娜-《美丽新世界》[德国黑胶CD][APE]
- KOKIA吉田亚纪子《aigakikoeru》(K2HD)[WAV+CUE]
- 坂本真绫《今日だけの》24bit-96kHz【Hi-Res】【flac】
- 《哈迪斯2》发布新预告片:抢先体验版现已上线
- 网红意外走漏消息!新一期PS游戏发布会下周举行
- 《仙剑客栈2》7月登陆PS与Xbox:PS5限定版一并公布
- 陈永龙.2012-海岸线【野火乐集】【WAV+CUE】
- 陈亚兰.1997-若是听人讲【点将】【WAV+CUE】
- 群星.1989-1991-华纳金曲国语原装13首2辑【华纳】【WAV+CUE】
- 崩坏星穹铁道2.2版本几点更新 崩铁2.2卡池上线时间介绍
- 崩坏星穹铁道知更鸟需不需要抽专武 崩铁2.2知更鸟光锥抽取建议