- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在coffescript中有两个方法,它们看起来像这样:
amount_calculation_when_unit_price_change = (parent) ->
$(".unit_price input").bind "keyup change", (e) ->
unit_price = @value.replace(/\,/g,'.')
quantity = $(this).closest(parent).find(".quantity input").val().replace(/\,/g,'.')
discount = $(this).closest(parent).find(".discount input").val().replace(/\,/g,'.') if $('.discount input').length > 1
if discount == ""
discount = 0
discount_type = $(this).closest(parent).find(".discount_type select").val() if $('.discount_type select').length > 1
value = ((parseFloat(unit_price) * parseFloat(quantity)))
if discount_type == "Absolute"
value = value - parseFloat(discount).toFixed(2)
else if discount_type == "Relative"
discount_price = value * parseFloat(discount/100).toFixed(2)
value = value - discount_price
amount = $(this).closest(parent).find(".amount")
if value.toString().match(pricePattern)
amount.html('<br/>' + '$' + "#{(value.toFixed(2))}")
else
amount.html('<br/>' + '$' + "0.00")
calculate_total()
amount_calculation_when_quantity_change = (parent) ->
$(".quantity input").bind "keyup change", (e) ->
quantity = @value.replace(/\,/g,'.')
unit_price = $(this).closest(parent).find(".unit_price input").val().replace(/\,/g,'.')
discount = $(this).closest(parent).find(".discount input").val().replace(/\,/g,'.') if $('.discount input').length > 1
if discount == ""
discount = 0
discount_type = $(this).closest(parent).find(".discount_type select").val() if $('.discount select').length > 1
value = ((parseFloat(unit_price) * parseFloat(quantity)))
if discount_type == "Absolute"
value = value - parseFloat(discount).toFixed(2)
else if discount_type == "Relative"
discount_price = value * parseFloat(discount/100).toFixed(2)
value = value - discount_price
amount = $(this).closest(parent).find(".amount")
if value.toString().match(pricePattern)
amount.html('<br/>' + '$' + "#{(value.toFixed(2))}")
else
amount.html('<br/>' + '$' + "0.00")
calculate_total()
就像每个人都看到的那样,有很多重复,这段代码看起来非常难看。如何使这段代码更加 DRY?
最佳答案
尝试这样的事情:
amount_calculation_when_unit_price_change = (parent) ->
for class in ["unit_price, quantity"]
values = {}
$(".#{class} input").bind "keyup change", (e) ->
values[class] = @value.replace(/\,/g,'.')
...
关于javascript - 让 Coffescript 代码变得干燥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25541313/
我喜欢使用 http://jsfiddle.net/ 用于测试,当我从一些教程中学习 coffeescript 时。我想注释掉多行。所以我点击我的 Mac cmd + / ,在大多数编辑器中,与注释掉
我在coffescript中有两个方法,它们看起来像这样: amount_calculation_when_unit_price_change = (parent) -> $(".unit_p
所以我有两个 Controller ,hotels和 videos .我想要 hotels.js.coffee能够访问在 videos.js.coffee 中创建的函数但我收到“未定义”错误。 我是
我试图递归地解析一个对象,但不知道下一个元素是字符串还是下一个嵌套对象。我正在考虑通过查看值的类型来做到这一点;它将是一个字符串或一个对象。但奇怪的事情正在发生...... 这段 Coffescrip
我认为 Karma CoffeeScript 代码覆盖率预处理器可能有问题。或者我不确定我做错了什么!所以我来找你 StackOverflow。基本上,我正在尝试设置 karma 测试套件,以 lco
首先,我知道我应该使用 javascript 而不是 coffeescript,但我只是在调整其他人的代码以查看是否可行。但是,我认为这并不重要......所以问题是,我如何获取日期的详细信息并可能在
我在 test.js 中有以下 Coffeescript yo () -> console.log("yo") 当通过 coffee -o public/javascripts/-cw public/
当我传递带有粗箭头的匿名函数作为 socket.io 回调,然后调用同一对象中的另一个方法时(如下所示),@ 的范围是正确的: module.exports = class InviteCreateS
这里有什么方法可以在不转换为 js 或 coffee 命令的情况下如何在 Nodejs 中执行 Coffescript 脚本。 可以即时翻译 coffeesctipts 的东西, Node 将如何请求
我在位于 Assets 管道的 CoffeScript 文件上尝试类似的操作。 但是我得到以下错误 throw Error("NoMethodError: undefined method `ren
我正在尝试使用 vim-coffee-script 插件 https://github.com/kchmck/vim-coffee-script但它没有将测试文件检测为 CoffeeScript 文件
我正在尝试创建动态 channel 供用户聊天,但无法将 room_id 传递到 App.cable.subscriptions.create 调用中在 room.coffee 文件中。任何有助于澄清
我是 CoffeeScript 的新手,对此非常兴奋。我做了一些基本循环 here .现在,CoffeeScript 正在为 every 循环定义一个循环变量,如下所示: var food, _i,
我有一个 HighCharts javascript,我正在尝试使用一些在线转换器将其转换为 CoffeeScript。 然而,它们都因“缺少操作数”而出错 这是代码 $(function() {
这段 JavaScript 代码工作正常。 function goToByScroll(id){ $('html,body').animate({scrollTop: $("#"+id)
我们在项目中使用 JavaScript(一种 DSL),并使用 Java Scripting API 运行它。 。 CoffeScript 看起来比 JS 好得多,所以我们想要它。 由于没有用于 Ja
我有以下项目结构 assets --javascripts ----controllers ------somefile.js ------somefile.js.coffee 我想编译 coffes
我正在expressJS中创建一个API,并且我想在每次文件更改时重新加载服务器 我试过了 gulp.task('server', function () { // Start the server
在 Ruby 中,我可以这样做: hash = ['foo', 'bar'].each_with_object({}) { |i, h| h[i] = 0 } 我如何在 CoffeeScript 中做
所以HAML 4 includes a coffeescript filter,它使我们喜欢咖啡的人可以做这样的整洁的事情: - word = "Awesome." :coffeescript $
我是一名优秀的程序员,十分优秀!