⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 product.js

📁 一款C2C的网店程序 我也是在网上下载的
💻 JS
字号:
//global variablesvar combinations = new Array();var selectedCombination = new Array();var globalQuantity = new Number;var colors = new Array();//add a combination of attributes in the global JS sytemfunction addCombination(idCombination, arrayOfIdAttributes, quantity, price, ecotax, id_image){	globalQuantity += quantity;	var combination = new Array();	combination['idCombination'] = idCombination;	combination['quantity'] = quantity;	combination['idsAttributes'] = arrayOfIdAttributes;	combination['price'] = price;	combination['ecotax'] = ecotax;	combination['image'] = id_image;	combinations.push(combination);}// search the combinations' case of attributes and update displaying of availability, prices, ecotax, and imagefunction findCombination(){	//create a temporary 'choice' array containing the choices of the customer	var choice = new Array();	$('div#attributes select').each(function(){		choice.push($(this).val());	});	var nbAttributesEquals = 0;	//testing every combination to find the conbination's attributes' case of the user		for (combination in combinations)	{		//verify if this combinaison is the same that the user's choice		nbAttributesEquals = 0;		for (idAttribute in combinations[combination]['idsAttributes'])		{			//ie6 bug fix			if (idAttribute != 'indexOf'){				//if this attribute has been choose by user				if (in_array(combinations[combination]['idsAttributes'][idAttribute], choice))				{					//we are in a good way to find the good combination !					nbAttributesEquals++;				}			}		}		if (nbAttributesEquals == choice.length)		{			//combination of the user has been found in our specifications of combinations (created in back office)			selectedCombination['unavailable'] = false;						$('#idCombination').val(combinations[combination]['idCombination']);			//get the data of product with these attributes			quantityAvailable = combinations[combination]['quantity'];			selectedCombination['price'] = combinations[combination]['price'];			if (combinations[combination]['ecotax'])				selectedCombination['ecotax'] = combinations[combination]['ecotax'];			else				selectedCombination['ecotax'] = default_eco_tax;						//show the large image in relation to the selected combination			if (combinations[combination]['image'] && combinations[combination]['image'] != -1)				displayImage( $('#thumb_'+combinations[combination]['image']).parent() );						//update the display			updateDisplay();						//leave the function because combination has been found			return;		}	}	//this combination don't exist (not created in back office)	selectedCombination['unavailable'] = true;	updateDisplay();}function updateColorSelect(id_attribute){	// Visual effect	$('#color_'+id_attribute).fadeTo('fast', 1, function(){	$(this).fadeTo('slow', 0, function(){ $(this).fadeTo('slow', 1, function(){}); }); });	// Attribute selection	$('#group_'+id_color_default+' option[value='+id_attribute+']').attr('selected', 'selected');	$('#group_'+id_color_default+' option[value!='+id_attribute+']').removeAttr('selected');	findCombination();}//update display of the availability of the product AND the prices of the productfunction updateDisplay(){	if (!selectedCombination['unavailable'] && quantityAvailable > 0)	{		//show the choice of quantities		$('#quantity_wanted_p:hidden').show('slow');				//show the "add to cart" button ONLY if it was hidden		$('#add_to_cart:hidden').fadeIn(600);		//availability value management		if (availabilityValue != '')		{			//update the availability statut of the product			$('#availability_value').removeClass('warning-inline');			$('#availability_value').text(availabilityValue);			$('#availability_statut:hidden').show();		}		else		{			//hide the availability value			$('#availability_statut:visible').hide();		}				//'last quantities' message management		if (quantityAvailable <= maxQuantityToAllowDisplayOfLastQuantityMessage)		{			//display the 'last quantities' message			$('#last_quantities').show('slow');		}		else		{			//hide the 'last quantities' message			$('#last_quantities').hide('slow');		}			//display the quantities of pieces (only if allowed)		if (quantitiesDisplayAllowed)		{			$('#pQuantityAvailable:hidden').show('slow');			$('#quantityAvailable').text(quantityAvailable); 			if(quantityAvailable < 2)			{				$('#quantityAvailableTxt').show();				$('#quantityAvailableTxtMultiple').hide();			}			else			{				$('#quantityAvailableTxt').hide();				$('#quantityAvailableTxtMultiple').show();			}		}	}	else	{		//hide 'last quantities' message if it was previously visible		$('#last_quantities:visible').hide('slow');		//hide the quantity of pieces if it was previously visible		$('#pQuantityAvailable:visible').hide('slow');				//hide the choice of quantities		$('#quantity_wanted_p:visible').hide('slow');				//display that the product is unavailable with theses attributes		if (!selectedCombination['unavailable'])			$('#availability_value').text(doesntExistNoMore + (globalQuantity > 0 ? ' ' + doesntExistNoMoreBut : '')).addClass('warning-inline');		else			$('#availability_value').text(doesntExist).addClass('warning-inline');		$('#availability_statut:hidden').show();				//show the 'add to cart' button ONLY IF it's possible to buy when out of stock AND if it was previously invisible		if (allowBuyWhenOutOfStock && !selectedCombination['unavailable'])		{			$('#add_to_cart:hidden').fadeIn(600);			$('p#availability_statut:visible').hide('slow');		}		else		{			$('#add_to_cart:visible').fadeOut(600);			$('p#availability_statut:hidden').show('slow');		}	}		//update display of the the prices in relation to tax, discount, ecotax, and currency criteria	if (!selectedCombination['unavailable'])	{		var attribut_price_tmp = selectedCombination['price'];		var tax = (taxRate / 100) + 1;		if (noTaxForThisProduct)			attribut_price_tmp /= tax;		var productPriceWithoutReduction2 = (attribut_price_tmp + productPriceWithoutReduction) * currencyRate;				if (reduction_from != reduction_to && (currentDate > reduction_to || currentDate < reduction_from))			var priceReduct = 0;		else			var priceReduct = productPriceWithoutReduction2 / 100 * parseFloat(reduction_percent) + reduction_price;		var priceProduct = productPriceWithoutReduction2 - priceReduct;		var productPricePretaxed = (productPriceWithoutReduction2 - priceReduct) / tax;		$('#our_price_display').text(formatCurrency(priceProduct, currencyFormat, currencySign));		$('#pretaxe_price_display').text(formatCurrency(productPricePretaxed, currencyFormat, currencySign));		$('#old_price_display').text(formatCurrency(productPriceWithoutReduction2, currencyFormat, currencySign));		$('#ecotax_price_display').text(formatCurrency(selectedCombination['ecotax'], currencyFormat, currencySign));	}}//update display of the large imagefunction displayImage(domAAroundImgThumb){	if (!domAAroundImgThumb.hasClass('shown'))	{		if (domAAroundImgThumb.attr('href'))		{			var newSrc = domAAroundImgThumb.attr('href').replace('thickbox','large');			$('#bigpic').fadeOut('fast', function(){				$(this).attr('src', newSrc);				$(this).fadeIn('fast');			});			$('#views_block li a').removeClass('shown');			$(domAAroundImgThumb).addClass('shown');		}	}}//To do after loading HTML$(document).ready(function(){		//init the serialScroll for thumbs	$('#thumbs_list').serialScroll({		items:'li',		prev:'a#view_scroll_left',		next:'a#view_scroll_right',		axis:'x',		offset:0,		start:0,		stop:true,		duration:700,		step: 2,		lock: false,		force:false,		cycle:false	});	//hover 'other views' images management	$('#views_block li a').hover(		function(){displayImage($(this));},		function(){}	);	//add a link on the span 'view full size' and on the big image	$('span#view_full_size, div#image-block img').click(function(){		$('#views_block li a.shown').click();	});	//catch the click on the "more infos" button at the top of the page	$('div#short_description_block p a.button').click(function(){		$('#more_info_tab_more_info').click();		$.scrollTo( '#more_info_tabs', 1200 );	});	//init the price in relation of the selected attributes	if (typeof productHasAttributes != 'undefined' && productHasAttributes)		findCombination();});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -