【发布时间】:2016-11-18 17:24:44
【问题描述】:
我只是在学习如何使用 JQuery,我迷失在如何压缩我的代码并使其遵守 OOP 干燥原则。
目标是在单击一个图像时使四个图像向左移动。
我在四个语句中做到了这一点,但我想知道如何进行更模块化的制作。
如果有人能将我引向正确的方向,我将不胜感激。
var clix = [0, 0, 0, 0]
$("#head").click(function () {
if (headclix < 9) {
$("#head").animate({
left: "-=367px"
}, 500);
headclix += 1;
} else {
$("#head").animate({
left: "0px"
}, 500);
headclix = 0;
}
});
$("#eyes").click(function () {
if (eyeclix < 9) {
$("#eyes").animate({
left: "-=367px"
}, 500);
eyeclix += 1;
} else {
$("#eyes").animate({
left: "0px"
}, 500);
eyeclix = 0;
}
});
【问题讨论】:
-
OOP 和 DRY 是两个不同的原则。
-
clix数组有什么用? -
欢迎来到 Stack Overflow!如果 (a) 您的代码按预期工作,(b) 您的代码是真实代码,而不是示例代码,并且 (c) 您的代码包含在问题的正文中,则此问题可能适合 Code Review。如果您希望通过同行评审来改进代码的所有方面,请将其发布在 Code Review 上。
-
最初,我有四个变量用作计数器。因此,每次用户单击图像时,图像都会向左循环到下一个图像。我认为一个数组可以代替它们。