基于JavaScript实现添加到购物车效果附源码下载

 更新时间:2016年08月22日 11:28:31   作者:月光光  
这篇文章主要介绍了基于JavaScript实现添加到购物车效果附源码下载的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

我们有很多种方法实现将商品添加到购物车,通常的做法是点击“添加到购物车”按钮,会跳转到购物车,在购物车里可以点击“结算”按钮进行结算。而今天我给大家介绍一个更友好的解决方案。

查看演示 下载源码

默认情况下,购物车是隐藏不可见的,当用户点击添加到购物车按钮后,商品信息会添加到购物车,购物车会以按钮的形式出现在页面右下角,点击按钮则会展开购物车,显示购物车中的商品信息,同时也可以对购物车中的商品进行删除或者结算等操作。用户也可以暂时关闭购物车继续购物。

HTML结构

HTML结构主要包括两部分,第一部分是商品列表中的“添加到购物车”按钮,如下代码,我们使用data-*属性将商品的id,图片、名称、价格等信息一并带上。

<a href="#0" class="btn btn-success add-button" data-price="3669.00" data-proid="1" data-proname="华为P9" data-proimg="img/huawei_p9.jpg">添加到购物车</a>

第二部分是购物车,购物车部分包括触发购物车以及购物车统计部分 .cd-cart-trigger和购物车主体内容部分.cd-cart。

<div class="cd-cart-container empty"> 
<a href="#0" class="cd-cart-trigger"> 
购物车 
<ul class="count"> <!-- cart items count --> 
<li>0</li> 
<li>0</li> 
</ul> 
</a> 
<div class="cd-cart"> 
<div class="wrapper"> 
<header> 
<h2>购物车</h2> 
<span class="undo">已删除 <a href="#0">恢复</a></span> 
</header> 
<div class="body"> 
<ul> 
<!-- 此部分是购物车商品部分,由javascript动态插入 --> 
</ul> 
</div> 
<footer> 
<a href="#0" class="checkout"><em>结算 - ¥<span>0</span></em></a> 
</footer> 
</div> 
</div> 
</div>

在div.body元素里的ul列表默认是空的,它是用来显示购物车的商品列表信息的,它的大致结构如下,它是由Javascript动态插入的。

<div class="body"> 
<ul> 
<li class="product"> 
<div class="product-image"> 
<a href="#0"><img src="img/pro.jpg" alt="placeholder"></a> 
</div> 
<div class="product-details"> 
<h3><a href="#0">商品名称</a></h3> 
<span class="price">¥3999.99</span> 
<div class="actions"> 
<a href="#0" class="delete-item">删除</a> 
<div class="quantity"> 
<label for="cd-product-'+ productId +'">件数</label> 
<span class="select"> 
<span class="select">x<i id="cd-product-'+proid+'">1</i></span> 
</span> 
</div> 
</div> 
</div> 
</li> 
</ul> 
</div>

CSS部分在本文不展示了,大家可以下载源码中的css/style.css查看。

Javascript

本实例代码是基于jQuery,因此需要提前加载jQUery库文件。

当用户点击按钮.add-button后,触发函数addProduct(),将商品信息插入到 .body > ul中。

function addProduct(proname,proid,price,proimg) { 
var quantity = $("#cd-product-"+proid).text(); 
var select='',productAdded=''; 
if(quantity==''){ 
var select = '<span class="select">x<i id="cd-product-'+proid+'">1</i></span>'; 
var productAdded = $('<li class="product"><div class="product-image"><a href="#0"><img src="'+proimg+'" alt="placeholder"></a></div><div class="product-details"><h3><a href="#0">'+proname+'</a></h3><span class="price">¥'+price+'</span><div class="actions"><a href="#0" class="delete-item">删除</a><div class="quantity"><label for="cd-product-'+ proid +'">件数</label>'+select+'</div></div></div></li>'); 
cartList.prepend(productAdded); 
}else{ 
quantity = parseInt(quantity); 
$("#cd-product-"+proid).html(quantity+1); 
} 
}

以上所述是小编给大家介绍的基于JavaScript实现添加到购物车效果附源码下载,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • js删除所有的cookie的代码

    js删除所有的cookie的代码

    有时候需要删除网站的cookies,一个一个太麻烦,这个可以批量的删除所有的cookies,需要的朋友可以参考下。
    2010-11-11
  • JavaScript markdown 编辑器实现双屏同步滚动

    JavaScript markdown 编辑器实现双屏同步滚动

    这篇文章主要介绍了JavaScript markdown 编辑器实现双屏同步滚动,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • js实现无限层级树形数据结构(创新算法)

    js实现无限层级树形数据结构(创新算法)

    这篇文章主要介绍了js实现无限层级树形数据结构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • js+css实现换肤效果

    js+css实现换肤效果

    这篇文章主要为大家详细介绍了js+css实现换肤效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript实现上下浮动的窗口效果代码

    JavaScript实现上下浮动的窗口效果代码

    这篇文章主要介绍了JavaScript实现上下浮动的窗口效果代码,可实现自定义窗口在垂直方向上弹性移动的效果,代码备有完整的注释说明供读者参考学习,需要的朋友可以参考下
    2015-10-10
  • JS获取父节点方法

    JS获取父节点方法

    在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式、内容等。
    2009-08-08
  • 拖动table标题实现改变td的大小(css+js代码)

    拖动table标题实现改变td的大小(css+js代码)

    拖动列宽的表格table标题同时改变td的大小,本文将以实例演示为大家呈现,感兴趣的朋友可以参考下哈,希望对你学习js或者css有所帮助
    2013-04-04
  • echarts整合多个类似option的方法实例

    echarts整合多个类似option的方法实例

    这篇文章主要给大家介绍了关于echarts整合多个类似option的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • javascript实现控制div颜色

    javascript实现控制div颜色

    本文给大家分享的是使用javascript实现控制DIV背景色的代码,非常的简单实用,有需要的小伙伴可以参考下。
    2015-07-07
  • javascript数组去重3种方法的性能测试与比较

    javascript数组去重3种方法的性能测试与比较

    面试题中有一题数组去重,首先想到的是对象存键值的方法可是遇到不同类型又能转换成同样的字符串的就完了接下来为大家介绍下双重循环/存键值和类型实现去重,感兴趣的各位可以参考下哈
    2013-03-03

最新评论