18910140161

HTML-在JavaScript中后退和前进更改颜色的问题-堆栈溢出

顺晟科技

2022-10-19 14:16:46

214

当我尝试在我的小应用程序中改变颜色时,我遇到了这个问题。但首先,我试图制作一个小应用程序来生成随机颜色并保存它们,以便能够使用向后向前按钮。

如果您想看到codepen的实际操作并更好地理解它,我将添加一个链接。

链接:随机颜色应用程序

我的问题:在生成两种颜色并向后单击后,我得到了相同的颜色(是的,我知道我正在使用一种方法来获取当前的颜色),我必须单击它两次才能看到变化。

所以,我的问题。我是否应该使用另一个“逻辑”来获取颜色而不是方法?

我将感谢所有的帮助!


顺晟科技:

这就是为什么你有这个问题!我花了一点时间才弄明白...

生成新颜色时,立即将新颜色设置为当前颜色。之后会发生什么?您正在将其推送到backwardStack数组!

这意味着当你变成红色,然后是绿色...

  1. 生成红色,设置为当前颜色,然后立即将红色推到向后堆栈

  2. 生成绿色,设置为当前颜色,然后立即将绿色推到向后堆栈

向后只能在至少传递了1个颜色时才可用,而不是在添加颜色时立即可用。这意味着您应该...

.pop()

基本上表示:

在设置当前颜色之前,是否有当前颜色?如果是,则推到BackwardStack。如果我没有当前颜色,不要推到backwardStack并仍然设置我的当前颜色。这意味着在第一次颜色生成时,向后按钮不应该变成可单击的。

这也是为什么每次生成颜色时,必须按两次向后按钮的原因!

希望这能有所帮助。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航