jQuery - Checkout.js
Checkout.js é um plugin jQuery para fácil implementação de check-out para sites de comércio eletrônico.
Um exemplo simples de checkout.js, conforme mostrado abaixo -
<html xmlns = "https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" />
<title>Untitled Document</title>
<script type = "text/javascript" src = "jquery-1.3.2.js"></script>
<script type = "text/javascript" src = "jquery.livequery.js"></script>
<link href = "css.css" rel = "stylesheet" />
<script type = "text/javascript">
$(document).ready(function() {
var Arrays = new Array();
$('#wrap li').mousemove(function(){
var position = $(this).position();
$('#cart').stop().animate({
left : position.left+'px',
},250,function(){
});
}).mouseout(function(){
});
$('#wrap li').click(function(){
var thisID = $(this).attr('id');
var itemname = $(this).find('div .name').html();
var itemprice = $(this).find('div .price').html();
if(include(Arrays,thisID)){
var price = $('#each-'+thisID).children(".shopp-price").
find('em').html();
var quantity = $('#each-'+thisID).children(".shopp-quantity").html();
quantity = parseInt(quantity)+parseInt(1);
var total = parseInt(ite mprice)*parseInt(quantity);
$('#each-'+thisID).children(".shopp-price").
find('em').html(total);
$('#each-'+thisID).children(".shopp-quantity").html(quantity);
var prev_charges = $('.cart-total span').html();
prev_charges = parseInt(prev_charges)-parseInt(price);
prev_charges = parseInt(prev_charges)+parseInt(total);
$('.cart-total span').html(prev_charges);
$('#total-hidden-charges').val(prev_charges);
} else {
Arrays.push(thisID);
var prev_charges = $('.cart-total span').html();
prev_charges = parseInt(prev_charges)+parseInt(itemprice);
$('.cart-total span').html(prev_charges);
$('#total-hidden-charges').val(prev_charges);
$('#left_bar .cart-info').append('
<div class = "shopp" id = "each-'+thisID+'">
<div class = "label">'+itemname+'</div>
<div class = "shopp-price">
$<em>'+itemprice+'</em></div>
<span class = "shopp-quantity">1</span>
<img src = "remove.png" class = "remove" />
<br class = "all" />
</div>');
$('#cart').css({'-webkit-transform' :
'rotate(20deg)','-moz-transform' : 'rotate(20deg)' });
}
setTimeout('angle()',200);
});
$('.remove').livequery('click', function() {
var deduct = $(this).parent().children(".shopp-price").find('em').html();
var prev_charges = $('.cart-total span').html();
var thisID = $(this).parent().attr('id').replace('each-','');
var pos = getpos(Arrays,thisID);
Arrays.splice(pos,1,"0")
prev_charges = parseInt(prev_charges)-parseInt(deduct);
$('.cart-total span').html(prev_charges);
$('#total-hidden-charges').val(prev_charges);
$(this).parent().remove();
});
$('#Submit').livequery('click', function() {
var totalCharge = $('#total-hidden-charges').val();
$('#left_bar').html('Total Charges: $'+totalCharge);
return false;
});
});
function include(arr, obj) {
for(var i = 0; i<arr.length; i++) {
if (arr[i] == obj) return true;
}
}
function getpos(arr, obj) {
for(var i = 0; i<arr.length; i++) {
if (arr[i] == obj) return i;
}
}
function angle(){$('#cart').css({'-webkit-transform' :
'rotate(0deg)','-moz-transform' : 'rotate(0deg)' });}
</script>
</head>
<body>
<div align = "left">
<div id = "wrap" align = "left">
<ul>
<li id = "1">
<img src = "a1.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn Java:
Price</span>: $<span class = "price">
800</span> </div>
</li>
<li id = "2">
<img src = "5.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn HTML
</span>: $<span class = "price">500
</span></div>
</li>
<li id="3">
<img src = "1.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn Android
</span>: $<span class = "price">450
</span></div>
</li>
<li id = "4">
<img src = "6.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn SVG
</span>: $<span class = "price">1200
</span></div>
</li>
<li id = "5">
<img src = "7.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div> <span class = "name">Learn Bootstrap
</span>: $<span class = "price">65
</span></div>
</li>
<li id = "6">
<img src = "5.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn HTML
</span>: $<span class = "price">800
</span> </div>
</li>
<li id = "7">
<img src = "7.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name"> Learn Bootstrap
</span>: $<span class = "price">45
</span></div>
</li>
<li id = "8">
<img src = "6.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn SVG
</span>: $<span class = "price">900
</span></div>
</li>
<li id = "9">
<img src = "8.png" class = "items" height = "100" alt = "" />
<br clear = "all" />
<div><span class = "name">Learn Angular Js
</span>: $<span class = "price">20
</span></div>
</li>
</ul>
<br clear = "all" />
</div>
<div id = "left_bar">
<form action = "#" id="cart_form" name = "cart_form">
<div class = "cart-info"></div>
<div class = "cart-total">
<b>Total Charges:
</b>
$<span>0</span>
<input type = "hidden" name = "total-hidden-charges"
id = "total-hidden-charges" value = "0" />
</div>
<button type = "submit" id = "Submit">CheckOut</button>
</form>
</div>
</div>
</body>
</html>
Isso deve produzir o seguinte resultado -