장바구니 프로그램의 완전한 버전(JavaScript 코드)
[javascript]
/***********************************장바구니 카테고리************** **** ************************/
var product=function(productArr){/*商product类基类productArr=>array;productArr['ID'], productArr['name'],productArr['pic'],=productArr['lvs'],productArr['width'],productArr['thickness'],productArr['length'],productArr['open'], productArr['capacity']*/
var _ID=productArr['ID'],_name=productArr['name'],_pic=productArr['pic'],_price=productArr['price'],_weight= productArr['weight'],_originalPrice=productArr['originalPrice'],_this=this;
this.num=productArr['num'];
this.getName=function(){
return _name;
}
this.getID=function(){
return _ID;
}
this.getPrice=function(){
return _price;
}
this.getWeight=function(){
return _weight;
}
this.getPic=function(){
return _pic;
}
this.getOriginalprice=function(){
return _originalPrice;
}
this.setNum=function(newNum){
_this.num=newNum;
}
this.getTotal=function(){
var total=_this.num*_this.getPrice();
반품 총액;
}
}
var makeProductObj=function(gID,pID,num){//system造product对象函数,返回system造的product对象,gID=>数据组ID, pID=>商품ID
/*********제조 코드*********/
var pData=[];
(함수(gID,pID){
$.ajax({
url:'/module/data/default.php?action=dataDetail&groupID='+gID+'&ID='+pID+'&r= '+newDate(),
유형:'post',
dataType:'xml',
async:false,
/**팩토리 메소드***/
성공:기능(dataXML ){
pData.price=$(dataXML).children('root').children('extend19').text();
pData.originalPrice=$(dataXML).children('root').children('extend9').text();
pData.weight=$(dataXML).children('root').children('extend21').text();
pData.name=$(dataXML).children('root').children('name').text();
pData.pic=$(dataXML).children('root').children('extend17').text();
}
});
})(gID,pID);
새 제품 반품({
num:num,
name:pData.name,
ID:pID,
가격:pData.price,
pic:pData.pic,
Weight:pData.weight,
originalPrice:pData.originalPrice,
});
}
var cartCookie=$.cookies.get('productItem');//cookie의 전체局变weight=>'商productID|数weight,商productID|数weight'
//alert(mockCookie) ;
var productCollection=function(){//商品搜集类
var products=[];
var hasOne=function(productObj){
var isOne=0;
for(var i=0;i
1=1;
휴식;
}
}
return isOne;
}
var initProduct
/********초기 제품 배열 코드*************/
//alert(mockCookie);
if(cartCookie){
initProduct=cartCookie.split(',');
for(var i=0;i
var _proObj=new makeProductObj(4,parseInt(_productTemp[0]),parseInt(_productTemp[1]));
if(hasOne(_proObj)!=1){
products.push(_proObj);
}
}
}
/*******초기 제품 배열 코드*************/
this.addProduct=function(productObj){//添加商품
if(hasOne(productObj )!=1){
products.push(productObj);
}
}
this.delProduct=function(productObj){//删除商 품
var _tempProducts= [];
for(var i=0;i
//console.log (제품[i].getID());
_tempProducts.push(products[i]);
}
}
products=_tempProducts;
}//del
this.setNumByPid=function(pID,newNum){//设置商 품수량
for(var k=0;k
제품[k].setNum(newNum);
휴식;
}
}
}
this.getProductById=function(pID) {//pID为商상품ID,获得商상품对象
for(var j=0;j
var _needMoney=0; s[k].getTotal ();
}
return _needMoney;
장바구니 클래스, productCollection 대리자 개체입니다
var _productCollection='';
var _this=this;
this.setCollection=function(collection){//Set 컬렉션
_productCollection =collection;
_nowCollection=_productCollection;//동적 컬렉션 개체 컬렉션 개체
this.setTemp=function(){
~ var listProduct=_productCollection.getProducts() 0;i
if(needProduct!=false){
_nowCollection.delProduct(needProduct)
}
this.setNumByPid=function(pID,newNum){//특정 상품의 수량 설정 , pID->제품 ID
_nowCollection.setNumByPid(pID,newNum)
} .getCurrentNumByPid=function(pID){//특정 제품의 수량을 가져옵니다. gt;제품 ID
var productObj=_nowCollection.getProductById(pID); 🎜>
.getTotalMoney=function(){//총액 가져오기
var _money=_nowCollection.getNeedMoney()
return _money; 단일 제품의 총 금액을 가져옵니다.
var _needProduct=_nowCollection.getProductById(pID); throw new Error('No such product');
🎜> var _totalMoney=_needProduct.getTotal(); .renderCart=기능 (){//렌더링 함수
서브클래스에 구현됨throw new Error('오류, 이 메서드는 서브클래스에 구현되어야 합니다.');
; .com
_this.renderCart()
_this.bindEvent()
}
.get NewCollection=function(){//새 컬렉션 개체 가져오기
> / **
> 렌더링
var _content=''; ().getProducts()[i]; ~ _content+='
//document.write(_content);
//alert(_content);
$('#checkCart').find('tr').eq(0).after(_content);//渲染面板
$('.step_total').find( '.step_total_right') .children('span').html('$'+cartTest.getTotalMoney());
/**팝박스카운트**/
}//renderCart
장바구니 Test.bindEvent=function(){
var _this=this;
//alert($('#'+win1.ID).find('.cartList').eq(0).html());
$('#checkCart').find('.cartList').each(function(index){
var _ 각각=$(이것);
_each.find('td:last').css('cursor','pointer').click(function(){
//alert('删除');
var _tempThis=$(this) ;; $ (this).parents('tr').remove();
/*******항목의 총액을 다시 계산합니다*******/
$('.step_total').find('.step_total_right').children('span' ).html('$'+_this.getTotalMoney());
/*******항목의 총액을 다시 계산합니다*******/
| _each.children('td[ class=numJia]').css('cursor','pointer').click(function(){
var _jiaThis=$(this);
//alert($(this).parents('tr').parents('table').find('input[type=hidden]').val());
_this.setNumByPid($(this).parents('tr').find('td:first').find('input[type=hidden]').val(),_this.getCurrentNumByPid($(this). parents('tr').find('td:first').find('input[type=hidden]').val())+1);
//alert(_jiaThis.parents('td').siblings('td[class=nowNum]').children('input').val());
_jiaThis.siblings('td[class=nowNum]').html(
_this.getCurrentNumByPid(_jiaThis.parents('tr').find('td:first').find('input[type =hidden]').val())
);
/***********특정 품목의 총액을 다시 계산합니다*************/
_jiaThis.siblings('td[class=eachTotal]').children('span').html('$'+_this.getTotalMoneyByPid(_jiaThis.parents(' tr').find('td:first').find('input[type=hidden]').val()));
/***********특정 품목의 총액을 다시 계산합니다*************/
/*******항목의 총액을 다시 계산합니다*******/
$('.step_total').find('.step_total_right').children('span') .html('$'+_this.getTotalMoney());
/*******항목의 총액을 다시 계산합니다*******/
});//클릭增加商상품량
_each.children('td[class=numJian]').css('cursor','pointer').click(function(){
var _jianThis=$ (this);
if(_this.getCurrentNumByPid($(this).parents('tr').find('td:first').find('input[type=hidden]').val()) >1){
_this.setNumByPid($(this).parents('tr').find('td:first').find('input[type=hidden]').val() ,_이 .getCurrentNumByPid($(this).parents('tr').find('td:first').find('input[type=hidden]').val())-1);
_jianThis.남매 ('td[class=nowNum]').html(
_this.getCurrentNumByPid($(this).parents('tr').find('td:first').find('input [유형=숨김] ').val())
);
/***********특정 품목의 총액을 다시 계산합니다***********/
_jianThis.siblings('td[class=eachTotal]').children('span').html(' $'+_this.getTotalMoneyByPid(_jianThis.parents('tr').find('td:first').find('input[type=hidden]').val()));
/**
*/
| *>*/
} // 현재 상품 수가 1보다 큰 경우
}) // 클릭하면 상품 수가 줄어듭니다. products
}); // 각
} // binevent
Carttest.touchoff () // 트리거
$ (Window) .unload (function () {// 페이지
// 경고('개 머리'); LastCollection = CartTest.getNewCollection ()
var _products = LastCollection.getProduts ()
//console.Loguts.length); VAR _C Artcookie = '';
var _Countnum = 0 ;
for(var i=0;i<_products.length;i++){
_cartCookie+=_products[i].getID()+'| '+_ 제품[i].num+','
_countNum+=_products[i].num*_products[i].getWeight(); _cartCookie=_cartCookie.substring(0,_cartCookie.length-1);
//alert(_cartCookie);
//alert(_cuntNum);
//alert(_countNum);
$.cookies.set('productItem',_cartCookie);//设置cookie
$.cookies.set('countNum',_countNum);//设양의 쿠키
});
$('#btn').click(function(){
/******************선택한 제품이 없으면 반품하세요*******************/
var _listProducts=cartTest.getNewCollection().getProducts();
if(_listProducts.length<0||_listProducts.length==0){
Alert('제품을 선택하세요!');
return;
}
window.location.href="http ://www.php1.cn/"> });
}
/***********************장바구니 카테고리**************************** **** ********/
/******************인스턴스화된 개체*******************/
var productCollections= new productCollection();
var cartTest=new cart();
cartTest.setCollection(productCollections);
새로운 shoppingTrolley();

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.
