1. 程式人生 > >Acticle 20:簡易版購物車小示例

Acticle 20:簡易版購物車小示例

window.onload = function() { var aLi = document.getElementsByTagName('li'); var oShop = document.getElementById('shop'); var json = {}; //加json,小按鈕開關 var count=0; var oDiv=null;//切記切記,定義全域性變數要在外面 //針對拖拽元素
for(var i = 0; i < aLi.length; i++) { aLi[i].ondragstart = function(ev) { var aP = this.getElementsByTagName('p'); ev.dataTransfer.setData('title', aP[0].innerHTML); ev.dataTransfer.setData('pri'
, aP[1].innerHTML); ev.dataTransfer.setDragImage(this, 0, 0); //當前的圖片 } } oShop.ondragover = function(ev) { ev.preventDefault(); } oShop.ondrop = function(ev) { ev.preventDefault(); //阻止預設事件
//獲取資料 var oTitle = ev.dataTransfer.getData('title'); var oPri = ev.dataTransfer.getData('pri'); if(!json[oTitle]) { //當json為空時就在div裡建立節點 //建立第一個span節點 var oP = document.createElement('p'); var oSpan1 = document.createElement('span'); oSpan1.className = 'box1'; oSpan1.innerHTML = '1'; oP.appendChild(oSpan1); //建立第二個span節點 var oSpan2 = document.createElement('span'); oSpan2.className = 'box2'; oSpan2.innerHTML = oTitle; //建立第三個span節點 oP.appendChild(oSpan2); var oSpan3 = document.createElement('span'); oSpan3.className = 'box3'; oSpan3.innerHTML = oPri; oP.appendChild(oSpan3); oShop.appendChild(oP); //給div新增p節點 json[oTitle] = 1; //並且只建立一次,建立完後不再建立節點 } else { //否則的話就新建類名為box1,box2的陣列,當類名為box2的內容跟上一個建立及節點的.box2(即oTitle)相等時,所有的.box1的內容+1; var box1 = document.getElementsByClassName('box1'); var box2 = document.getElementsByClassName('box2'); //遍歷box1的for迴圈 for(var i = 0; i < box1.length; i++) { if(box2[i].innerHTML == oTitle) { box1[i].innerHTML=parseInt(box1[i].innerHTML) +1;//parseInt()對box1裡面的內容進行取整 ,然後再加1 } } } //當購物車裡面沒有內容時,建立一個div if(!oDiv){ oDiv=document.createElement('div');//將其變為全域性變數,在上面宣告:var oDiv=null oDiv.className='price'; } count+=parseInt(oPri);//價格總數相加 oDiv.innerHTML=count+'¥'; oShop.appendChild(oDiv); } };

相關推薦

Acticle 20:簡易購物車示例

window.onload = function() { var aLi = document.getElementsByTagName('li'); var oShop = document.getElementByI

簡易三子棋遊戲:

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<time.h> int Menu(int choice) { printf("==========

JS實現簡易貪吃蛇遊戲(純js程式碼)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head&

微信程式實現簡易tab切換效果

利用三元運算子實現登入註冊效果切換 直接上程式碼 wxml: <view class='top'> <text class="{{login?'active':''}}" catchtap='login'>登入</text>

程式圖片裁剪功能簡易,分享前裁剪

該檔案主要執行分享前的裁剪 微信後臺的download安全域名別忘記設定,否則上線後不能剪下 小程式內是圖片是HTTP的要想辦法換成https 一.介紹使用 1.基本使用 以商品詳情為例: <template>

購物車程序

如果 pen ota break opp cart odi span ros 功能要求: v = 2000 要求用戶輸入總資產,例如:2000 顯示商品列表,讓用戶根據序號選擇商品,加入購物車

進階之路(中級篇) - 018 基於arduino的簡易智能衣架

檢驗 dig cloc 布線 pin on() -- mage 根據 一. 設備及要求 目的:制作一個可以自動根據事實的天氣的狀況進行對衣架上的衣服進行晾曬。 基礎裝置:可伸縮的晾衣架。 開發環境:Arduino1. 8.1 主控板:Arduino UNO 動力裝置:

【Linux】LAMP環境搭建(簡易

freetype 軟件 系統 解壓縮 net done .gz 輔助 one 一. 輔助軟件包安裝 準備工作:1.Linux系統準備 恢復快照(初始化安裝) 設置IP 關閉SELINUX 配置yum源 2.yum -y install gcc

Python實現購物車程序

輸入密碼 print 文件的 enc break aps ast utf log 開發環境,win7、Python3.6、Pycharm社區版2017 作業需求: 購物車程序:1、啟動程序後,輸入用戶名密碼後,如果是第一次登錄,讓用戶輸入工資,然後打印商品列表 #再次

超市管理系統簡易

條件 system def 初始 價格 break nbsp return tint 1 import java.util.ArrayList; 2 import java.util.Scanner; 3 4 public class Shopp {

購物車代碼

dig log quit python pre append lar lan num goods = ["iphone6s","mac_book","coffee","python_book","bicyle"] price = [5800,9000,32,80,1500

實現簡易的moment.js

date對象 hour getdate git .get ice ace -m mon   github源碼地址: www.baidu.com   作者: 易憐白   項目中使用了時間日期的處理方法,只使用了部分方法,為了不在引入第三方的庫(moment.js),這裏自己封

20】高度最的BST

val ini null strong span 序列 一個 star code 【題目】 對於一個元素各不相同且按升序排列的有序序列,請編寫一個算法,創建一棵高度最小的二叉查找樹。 給定一個有序序列int[] vals,請返回創建的二叉查找樹的高度。 【代碼】 impo

簡易爬蟲(豆瓣)

douban spa http sta imp bsp ont color run import requestsimport redef get_douban(): res_str = requests.get("https://movie.douban.com/t

python實現簡單的循環購物車功能

iphone6s opp lose pre 選擇 小功能 alt else ret python實現簡單的循環購物車小功能 # -*- coding: utf-8 -*- __author__ = ‘hujianli‘ shopping = [ ("iphon

nginx動靜分離示例

lis span gin 其他 cati cal 分離 log root server { listen 80; server_name www.xxx.cn;          #靜態頁面     #匹配首頁,ur

Vue初體驗——用Vue實現簡易TodoList

一個 link this clas 教程 show success gen strong 最近在學習Vue,斷斷續續看完了官方教程的基礎部分,想練一下手熟悉一下基本用法,做了一個簡易版的TodoList 效果: 代碼: HTML: 1 <!DOC

HDU 2083 簡易之最短距離

輸入 return ble 最終 ava clas itl align ring 簡易版之最短距離 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To

shell腳本示例

amp logs -1 done int oot 階乘 i++ blog 求1-100自然數的和: 法一:for循環 #!/bin/bash # declare -i sum=0 for ((i=0;i<=100;i++));do let sum+=$i do

內存池簡易 c語言

stat c語言 else next static ati style type ini #ifndef X_MEMORY_H #define X_MEMORY_H #include <stdlib.h> #include <stdio.h> #