我有一个数组[1,2,3,4]
我需要先遍历被选中的 [2],设置他的样式,然后再遍历其他孩子并重置他们的样式。
目前,我的算法如下:
for item in array
if item == chosenEl
set chosen classes
for item in array
if item != chosenEl
reset chosen classes for the rest of the children
或咖啡:
for item in @array
if item.element is element
item.selected = true
item.element.classList.add @selectedClass
item.element.focus()
for item in @array
if item.element isnt element
item.selected = false
item.element.classList.remove @selectedClass
由于框架中的一些限制,我需要设计这样的函数,而不是简单的 forElse 循环。
如何改进此代码?
谢谢你。
说明- 我需要这个设计的原因是因为重复调用了 2 个不同的函数,它们相互冲突。
我正在为 LG TV 开发一个应用程序。LG 电视有自己的库。现在在我的函数中,我设置了所选元素的样式。当我关注所选元素时,我激活了 LG TV onFocus 侦听器,该侦听器反过来控制所选样式。
因此,当我循环第二个或第三个孩子时,我再次设置已清除元素的选定样式。TLDR,但这就是循环如何相互冲突。一个人打断了另一个人的工作。
代码不是我写的。我进入了一个现有的项目,我还没有编写这个函数,所以我不能只删除 Focus() 函数。