Animation Issue with Script
I've implemented the following script
http://webresourcesdepot.com/wp-content ... /standard/
into my site however the animation part of the script is not working and I'm unsure why as the code hasnt changed and the name of the <DIVS> are also correct. It's a basic add and delete shopping basket with tow test items and if you refresh the page the items are added but the animation doesn't function correctly.
The page can be found at:
http://www.hpieurope.com/clearance/
The Code samples are below:
ecomm_functions,js
-
$(document).ready(function(){
//Functions to Add To Basket
$("#basketItemsWrap li:first").hide();
$(".productPriceWrapRight a img").click(function() {
var partNoValSplitter = (this.id).split("_");
var partNoVal = partNoValSplitter[1];
$("#notificationsLoader").html('<img src="/clearance/graphics/loader.gif" />');
$.ajax({
type: "POST",
url: "/clearance/includes/ecomm_functions.php",
data: { partNo: partNoVal, action: "addToBasket"},
success: function(theResponse) {
if( $("#partNo_" + partNoVal).length > 0){
$("#partNo_" + partNoVal).animate({ opacity: 0 }, 500, function() {
$("#partNo_" + partNoVal).before(theResponse).remove();
});
$("#partNo_" + partNoVal).animate({ opacity: 0 }, 500);
$("#partNo_" + partNoVal).animate({ opacity: 1 }, 500);
$("#notificationsLoader").empty();
} else {
$("#basketItemsWrap li:first").before(theResponse);
$("#basketItemsWrap li:first").hide();
$("#basketItemsWrap li:first").show("slow");
$("#notificationsLoader").empty();
}
}
});
});
//Functions to Delete From Basket
$("#basketItemsWrap li img").live("click", function(event) {
var partNoValSplitter = (this.id).split("_");
var partNoVal = partNoValSplitter[1];
$("#notificationsLoader").html('<img src="/clearance/graphics/loader.gif" />');
$.ajax({
type: "POST",
url: "/clearance/includes/ecomm_functions.php",
data: { partNo: partNoVal, action: "deleteFromBasket"},
success: function(theResponse) {
$("#partNo__" + partNoVal).hide("slow", function() {$(this).remove();});
$("#notificationsLoader").empty();
}
});
});
});
right_basket.php
-
<img src="graphics/common/cat_header_arrow.gif" style="float: left;" />
<div class="cat_header" style="text-align: right;"><span id="notificationsLoader"></span>
Your Basket: </div>
<div class="weecart_sidebar_group" style="margin-bottom: 10px;">
<div style="font-size: 10px; line-height: 1.3em; padding: 8px;">
</div>
<div id="basketItemsWrap">
<div id="BasketHeader">
<span id="BasketProductName">Product</span>
<span id="BasketProductQty">Qty</span>
</div>
<ul>
<li></li>
<?php getBasket(); ?>
</ul>
</div>
<!--<div id="weecart_shippingCost"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td align="left" nowrap="nowrap">Delivery <a href="/delivery-info.php">(info)</a></td><td align="right">£</td></tr></table></div>-->
<div id="weecart_total"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td align="left">Sub Total</td><td align="right">€ <?php subBasketTotal();?></td></tr></table></div>
</div>
ecomm_functions.php
-
<?php
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
require("db.php");
####################################################################################################
## HPI Europe ECommerce Functions
####################################################################################################
####################################################################################################
##
####################################################################################################
session_start();
$sessionID = $_COOKIE['PHPSESSID'];
if($_POST['action'] != '' || $_GET['action'] != '') {
if($_POST['action'] == '')
{
$action = $_GET['action'];
$partNo = $_GET['partNo'];
$noJavaScript = 1;
} else {
$action = $_POST['action'];
$partNo = $_POST['partNo'];
$noJavaScript = 0;
}
}
if ($action == "addToBasket"){
$productInBasket = 0;
$productTotalPrice = 0;
$sql = "Select
hpi.stockmaster.ItemNumber As partNo,
hpiUK.PriceBookHeader.CURNCYID,
hpiUK.PriceBookLines.PRCSHID,
hpiUK.PriceBookLines.PSITMVAL,
hpi.stockmaster.ItemDesc1
From
hpi.stockmaster Inner Join
hpiUK.PriceBookLines On hpiUK.PriceBookLines.ITEMNMBR = hpi.stockmaster.ItemNumber
Inner Join
hpiUK.PriceBookHeader On hpiUK.PriceBookHeader.PRCSHID =
hpiUK.PriceBookLines.PRCSHID
Where
hpi.stockmaster.ItemNumber = '".$partNo."' And
hpiUK.PriceBookLines.PRCSHID Like 'UKBASE%'";
//echo '<pre>'.$sql.'</pre>';
$query = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_array($query);
//var_export($row);
$productPrice = $row['PSITMVAL'];
$productName = $row['ItemDesc1'];
$partNo = $row['partNo'];
$sql = "INSERT INTO ecomm_temp_cart (basket_id, session, partNo, name, part_price ,qty) VALUES ('NULL', '$sessionID', '$partNo', '$productName', '$productPrice', '1' )";
//echo '<pre>'.$query.'</pre>';
$query = mysql_query($sql) or die (mysql_error());
$sql = "SELECT * FROM ecomm_temp_cart WHERE partNo = " . $partNo . " AND session = '" . $sessionID . "'";
$query = mysql_query($sql) or die (mysql_error());
$totalItems = '';
while($row = mysql_fetch_array($query, MYSQL_ASSOC))
{
$totalItems = $totalItems + 1;
$productTotalPrice = $productTotalPrice + $row['part_price'];
}
/*if ($noJavaScript == 1) {
header("Location: ../index.php");
} else {
//echo ('<li id="partNo_' . $partNo . '"><a href="/clearance/includes/functions.php?action=deleteFromBasket&partNo=' . $partNo . '" onClick="return false;"><img src="/clearance/graphics/delete.png" id="deletePartNo_' . $partNo . '"></a> ' . $productName . '(' . $totalItems . ' items) - £' . $productTotalPrice . '</li>');
}*/
}
function getBasket(){
session_start();
$sessionID = $_COOKIE['PHPSESSID'];
$basketText = "";
$sql = "SELECT * FROM ecomm_temp_cart WHERE session = '" . $sessionID . "' GROUP BY partNo ORDER By basket_id DESC";
$query = mysql_query($sql) or die (mysql_error());
//echo $query;
while($row = mysql_fetch_array($query, MYSQL_ASSOC))
{
$sql2 = "Select
stockmaster.ItemNumber As partNo,
hpiUK.PriceBookHeader.CURNCYID,
hpiUK.PriceBookLines.PRCSHID,
hpiUK.PriceBookLines.PSITMVAL,
stockmaster.ItemDesc1
From
stockmaster Inner Join
hpiUK.PriceBookLines On hpiUK.PriceBookLines.ITEMNMBR = stockmaster.ItemNumber
Inner Join
hpiUK.PriceBookHeader On hpiUK.PriceBookHeader.PRCSHID =
hpiUK.PriceBookLines.PRCSHID
Where
stockmaster.ItemNumber = ".$row['partNo']." And
hpiUK.PriceBookLines.PRCSHID Like 'UKBASE%'";
$query2 = mysql_query($sql2) or die (mysql_error());
$row2 = mysql_fetch_array( $query2 );
//var_export($row2);
$partNo = $row2['partNo'];
$productPrice = $row2['PSITMVAL'];
$productName = $row2['ItemDesc1'];
//echo $partNo;
$sql3 = "SELECT COUNT(*) AS totalItems FROM ecomm_temp_cart WHERE session = '".$sessionID."'AND partNo = ".$partNo;
//echo '<pre>'.$sql3.'</pre>';
$query3 = mysql_query($sql3) or die (mysql_error());
$row3 = mysql_fetch_array( $query3 );
$totalItems = $row3['totalItems'];
$basketText = $basketText . '<li id="partNo_'.$partNo.'"><a href=inc/functions.php?action=deleteFromBasket&partNo=' . $partNo . ' onClick="return false;"><img src="http://www.hpiracing.co.uk/graphics/n51/weecart/rem.gif" id="deletePartNo_' . $partNo . '"></a><a href="/piw.php?partNo='.$partNo.'" class="productName"> ' . $productName . '</a><span class="qty">'.$totalItems.'</span></li> ';
}
echo $basketText;
}
if ($action == "deleteFromBasket"){
$sql = "DELETE FROM ecomm_temp_cart WHERE partNo = ".$partNo." AND session = '".$sessionID."'";
$query = mysql_query($sql) or die (mysql_error());
/*if ($noJavaScript == 1) {
header("Location: ../index.php");
}*/
}
function subBasketTotal() {
session_start();
$sessionID = $_COOKIE['PHPSESSID'];
$sql = "Select
Count(ecomm_temp_cart.qty) As qty,
ecomm_temp_cart.part_price
From
ecomm_temp_cart
Where
ecomm_temp_cart.session = '".$sessionID."'
Group By
ecomm_temp_cart.part_price, ecomm_temp_cart.session, ecomm_temp_cart.qty";
//echo '<pre>'.$sql.'</pre>';
$query = mysql_query($sql) or die (mysql_error());
//Obtain QTY & PRICE for Each Item
$data = array();
while($row = mysql_fetch_assoc($query))
{
array_push(
$data,
array(
'qty' => $row['qty'],
'part_price' => $row['part_price']
)
);
}
$subTotal = 0;
foreach($data as $k=>$v) {
$total[$k] = $v['qty'] * $v['part_price'];
$subTotal = $total[$k] + $subTotal;
}
$vat = ($subTotal * 0.15);
$finalTotal = ($vat + $subTotal);
echo round($finalTotal, 2);
}
?>