【发布时间】:2013-09-20 13:08:12
【问题描述】:
所以我有这个想法,我正在 Codepen 上工作。我已经让它按原样工作,但在我去添加更多可点击区域之前,我已经意识到非常需要重构和干燥东西。到目前为止它可以工作,但它非常丑陋,并且会涉及大量重复的代码。
所以我试图用一个 switch 语句替换许多 $(.class).click(function() { ... }); 函数,该语句使用 $(this) 来填充单个 .click 函数。但我迷路了。
您可以在此处查看所有内容并进行编辑:http://codepen.io/lukewatts/pen/ubtmI
我觉得我很接近但我碰壁了。顶部注释掉的部分是 DRY 尝试,而目前未注释的是工作版本。单击 min、off、max 字词或 LED 以查看其工作情况。
非常感谢您就此提供任何建议。说实话,PHP 是我的主要语言。
附:我有 leds.click(function() { ... }) 并用 leds.on(function() { ... }) 替换它,但仍然没有。
【问题讨论】:
-
以前没见过
case switch的方法...有趣。 -
我认为Code Review 可能是提出问题的更好地方。不过,我正在看一看,我认为您的
switch想法不一定更好。 -
你应该从 JSLint 或 JSHint 开始。
-
我认为奇怪的
case switch实际上是问题所在......它是这样工作的吗? :-/ -
看那是我接管的 php 逻辑。 Switch 语句在 PHP 中很常见,但我在 Javascript 中看不到它们。我承认在这种情况下使用 $(...) 感觉各种错误。但是我已经检查了 MDN 的语法,开关应该没问题。
标签: javascript jquery click switch-statement this