热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jQuery教程分享价格变动

那么如何在JavaScript或jQuery的附加帮助下获得价格变化。例如,第一个项目是450美元的设定基础,之后的每个项目是额外的150美元。但是客户能够改变这个价格的诀窍是45

那么如何在Javascript或jQuery的附加帮助下获得价格变化。 例如,第一个项目是450美元的设定基础,之后的每个项目是额外的150美元。 但是客户能够改变这个价格的诀窍是450美元,现在是225美元,额外的是75美元。 我知道如何用一堆if else语句来做这件事,但这看起来很麻烦。 有没有更好的办法?

到目前为止,这是我的代码,它只分为两部分而不是添加部分。

编辑:进一步解释这是如何工作的

项目#1 450
项目#2 150
项目#3 150
满[x]半[]

项目#1 225
项目#2 75
项目#3 75
满[]半[x]

每增加一个实际上是基数除以3所以450 = 150和225 = 75
并且一半是原始基础450/2 = 225

var dropResult; $(function (){ $(".t").click(function(){ dropResult = $("input[name=drop]:checked").val(); dropCalculate(); }); }); function dropCalculate() { var dropPrice = 450; var dropAmount = $(".itemadd", "#items").length; $("#dropAmount").html("Total: " + dropAmount); if (dropResult == 1) { dropTotal = dropAmount * dropPrice; $("#dropPrice").html("Price Total: $" + dropTotal.toFixed(2)); }else { dropTotal = dropAmount * dropPrice / 2; $("#dropPrice").html("Price Total: $" + dropTotal.toFixed(2)); } } 

    好的,所以如果我理解正确的话,您希望以干净的方式对给定价格应用折扣,具体取决于项目数量。 我首先将DRY(不要重复自己)原则应用于您的代码,并将变量放在本地范围内:

     //var dropResult = $("input[name=drop]:checked").val(); //this line doesn't actually do anything, so I removed it. It will always return true, as you're using the :checked pseudo-selector to only select checked checkboxes. $(function (){ $(".t").click(function(){ dropCalculate(450); }); }); function dropCalculate(dropPrice) { var dropAmount = $(".itemadd", "#items").length, dropTotal = dropAmount * dropPrice; if (dropResult != 1) { dropTotal = dropTotal / 2; } $("#dropPrice").html("Price Total: $" + dropTotal.toFixed(2)); } 

    哪个更清洁。 然后,如果您有更复杂的折扣规则或多个产品的多个规则,则可以使用对象。 这是一个简单的例子:

     $(function (){ $(".t").click(function(){ var pricesObj = { 'default': 75, '1':450, '2':225 }; dropCalculate(pricesObj); }); }); function dropCalculate(priceObj) { var dropAmount = $(".itemadd", "#items").length; if (priceObj[dropAmount]) { dropTotal = priceObj[dropAmount] * dropAmount; } else{ dropTotal = priceObj['default'] * dropAmount; } $("#dropPrice").html("Price Total: $" + dropTotal.toFixed(2)); } 

    如果您需要任何帮助,请问!

    更新:我误解了你的用例,但这仍然指向你正确的方向。 在我的代码中,如果有1个产品,则价格为450,2为225,每个为75。

    你可以快速做出改变,就是这样的:

     dropTotal = dropAmount * dropPrice; $("#dropPrice").html("Price Total: $" + dropResult == 1 ? dropTotal.toFixed(2)) : (dropTotal / 2).toFixed(2)); 

    检查这个小提琴

      $('#dropPrice').text( '$' + (450 + ((450 * ($('#items .itemadd').length - 1)) / 3)) / (Number($("input[name=drop]").is(':checked')) + 1)); 

      以上就是jQuery教程分享价格变动相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(编程笔记)。


      推荐阅读
      • 本篇文章为大家展示了input语句的作用有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。HTML标签 ... [详细]
      • CSS3选择器的使用方法详解,提高Web开发效率和精准度
        本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
      • Voicewo在线语音识别转换jQuery插件的特点和示例
        本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
      • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
      • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
      • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
      • 025_JavaScript数组方法
        1.把数组转换为字符串1.1.toString()方法1.1.1.toString()方法把数组转换为数组值(逗号分隔)的字符串,并返回结果。1.1.2.语法arrayOb ... [详细]
      • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
      • 项目需要实现弹幕,网上参考了各种方法,最后觉得transform+transition实现的效果在移动设备上性能最好,在iphone6和红米4上测试,看不到 ... [详细]
      • 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面
        我们设计一个页面来展示正在处理的任务,该表格可以参照之前基础信息的增删改查。用户通过这个页面对任务进行相应操作。1.在views. ... [详细]
      • 点击后defaultEducation的值明明改变了,但props传给子组件却watch不到 ... [详细]
      • 前端库Bootstrap框架:「11]使用 span 创建行内元素
        前端库Bootstrap框架:「11]使用 span 创建行内元素 ... [详细]
      • 计算机存储系统的层次结构及其优势
        本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
      • 深入理解CSS中的margin属性及其应用场景
        本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
      • PDO MySQL
        PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
      author-avatar
      果粒粒1201
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有