在这里查看我的小提琴
这是有问题的js:
$(document).ready(function() {
$('.clickMe').toggle(
function() {
$('#coloredDiv').css({
"background-color": "#eeeeee"
})
}, function() {
$('#coloredDiv').css({
"background-color": "#00ff00"
})
}, function() {
$('#coloredDiv').css({
"background-color": "#ff0000"
})
}, function() {
$('#coloredDiv').css({
"background-color": "#000000"
})
});
});
目标:每次单击链接(“单击我”)时,#coloredDiv 的背景颜色应按提供的顺序更改为以下颜色之一:#eeeeee、#00ff00、#ff0000、#000000。到达最后一种颜色后,如果再次单击链接,则循环应从列出的第一种颜色重新开始。
该代码有效,但我想知道:当前形式的代码是可敬的还是不太好?我是否做出了糟糕的选择?有什么其他的方法可以编写来达到相同的结果,但可能以稍微更好(即更优雅)的方式?
最后,您会注意到在页面加载时,正方形没有默认颜色。我玩弄了在加载时默认为#eeeeee 的想法,但我意识到我需要使用条件语句来检查当前颜色,然后根据情况应用适当的颜色。任何有关如何编写此内容的指导将不胜感激。
请注意,我想只使用 jQuery 而没有插件来完成这项任务。
谢谢您的帮助。