【发布时间】:2017-12-18 19:49:23
【问题描述】:
我正在尝试构建一个在用户单击刷新按钮时更改背景(颜色 a)、框(颜色 b)和文本颜色(颜色 a)的函数。我已经设置了颜色数组,但无法弄清楚如何正确循环数组。有人可以帮忙吗?
var colors = [
["#808080", "#f08080"],
["#2f4f4f", "#cdcdc1"],
["#F3E4C3", "#191970"],
["#DD5C3D", "#495496"],
["#ffbdbd", "#bdffff"],
["#c9c9ff", "#282833"],
["#fff5ee", "#4682b4"]]
我想我可以在下面做这样的事情:
$("#refresh").click(function(){
$("box").animate({
backgroundColor: colors[0][1],
}, 500);
$("box").css("color", colors[0][0]);
$("background").animate({
backgroundColor: colors[0][0],
}, 500);
//add something that triggers loop here
});
下面是我的html:
<body>
<section id="main" class="box" style="margin-bottom: 10px">
<div id="city"></div>
<div id="detail"></div>
<div id="icon"></div>
<div id="temperature"></div>
<div id="fcicon" class="inrow">
<div id="f">F</div><div style="opacity: 0.5">/</div><div id="c">C</div>
</div>
<div id="refresh"><i class="fa fa-refresh"></i></div>
</section>
【问题讨论】:
-
你的 HTML 是什么样的?
-
@Snowmonkey 刚刚添加了它-谢谢!
-
因此,您正在为 HTML 中不存在的三个 DOM 元素制作动画——一个框元素、一个部分元素和一个背景元素。是的,他们不会那样制作动画。
-
循环有什么作用?或者你的意思是每次他们点击刷新时你选择数组中的下一个颜色?这个问题不清楚。
-
嗨@ErikPhilips,是的,这就是我想要弄清楚的。刷新按钮应该指向数组中的下一个颜色对。
标签: javascript jquery arrays loops