关于清空购物车的实现思路

关于清空购物车的实现思路

    function cartRemove(){
        $('.choose-content').on('click','.clear-car', function(){
            // 移除购物车的选中项
            $strTop.find('.choose-item').remove();
            // 找到所有选项卡内容,赋给变量list
            var list = window.food_spu_tags || [];
            // 找到右侧选项卡放数量的div
            var $counts = $('.count');
            // 这里的list指的是左侧所有的选项卡内容
            // item指list中的每个选项卡
            list.forEach(function(item){
                // item.spus指的是左侧每一个选项卡对应的右侧所有商品的内容信息
                // _item是右侧每一条商品的数据
                item.spus.forEach(function(_item){
                    // 后台数据设为0
                    _item.chooseCount = 0;
                    // 页面数据设为0
                    $counts.text(0);
                })
                // 改变总价,让总价为0
                changeTotalPrice(0);
                // 改变红点个数
                changeDot();
            });
        });        
    }


在老师提供的源码shopBar.js里面加了这段代码。测试了一下可以实现效果,也暂时没发现BUG。

我的思路是移除购物车中的所选项,然后把界面和后台的每一条count数据设为0。

想问一下有什么方法可以达到不刷新页面,把所有的数据设置为初始值的效果…最开始围绕这个想法困了很久,还是没解决…然后想到用比较直接的方法循环遍历每个数据,把数据改为0。

如果有的话麻烦老师提供一个思路,或者用哪种方法可以达到重置页面的效果,或者有什么针对清空购物车这个功能,更好的解决方法……循环遍历还真是万能,只是感觉会很消耗性能…


辛苦老师解答。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
Edward666 2020-01-02 17:54:13

我觉得我的方法比你更加简洁

//清空购物车

$('.cart-clear').on('click', function(e){

// 修改挂载到cart-item中的数据

// 获取cart-item标签。cart-item标签是我购物车中被选中的商品

var $item = $strTop.find('.cart-item');

//循环将所有被选中的商品的标签的chooseCount数据修改为零

for(var i=0; i < $item.length; i++){

console.log($item[i]);

//修改保存在cart-item标签的数据

$($item[i]).data('itemData').chooseCount = 0;

}

//修改后重新渲染一个页面

renderItems();

//修改后同时也需要联动!

$('.sidebar-item.active').click();

});


hyperse 2019-12-23 19:02:14

我感觉这个同学的思路比老师讲的还清楚一些,老师每次都说这个数据那个数据。很容易混淆。这个同学的备注:// item.spus指的是左侧每一个选项卡对应的右侧所有商品的内容信息
                // _item是右侧每一条商品的数据。

就非常清晰,希望慕课网的老师可以学习一下,谢谢

  • 同学你好, 你的建议我会记录下来,并反馈给相关部门,慕课网非常愿意聆听大家的意见,只要是对同学们学习有帮助的,我们一定会采纳的,祝学习愉快~
    2019-12-24 09:49:18
好帮手慕慕子 2019-12-20 17:34:13

同学你好, 老师在源码中测试了同学粘贴的这部分代码,效果实现的很棒 。

针对这项目,使用遍历是最好的解决方法了,同学的代码逻辑已经很简单直接明了,真棒!

如果帮助到了你,欢迎采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师