18910140161

JavaScript--许多按钮,一个弹出窗口。如何根据按钮值使内容可见或隐藏?-堆栈溢出

顺晟科技

2022-10-19 12:30:56

257

我有许多按钮和一个弹出式div,其中包括根据地图值的短或长内容。

情况1:如果内容是隐藏的(windows.onload,它是隐藏的),如果单击任何按钮,内容应该是可见的,如果单击相同的按钮,内容应该再次隐藏。

情况2:如果内容由于单击按钮而可见,如果单击任何按钮(除了与情况1相同的按钮),则内容不应隐藏,应保持可见。

在下面的代码中,我可以处理情况1,但不能处理情况2。我想,我需要在按钮的第一次和最后一次调用值之间做一个比较函数,但我找不到存储第一次值的方法,所以我无法进行比较。

我是否应该使用“JavaScript闭包”,因为我认为它可能会起作用。https://www.w3schools.com/js/tryit.asp?filename=tryjs_function_closures5 如果我应该,有什么变通办法吗?我更喜欢使用另一种方法而不是使用闭包,因为我现在还不太理解“闭包”的逻辑。

谢谢。

编辑:我想,我需要说得更清楚些。请查看https://jsfiddle.net/graycollar/odnhgkpx/22/ 实际上,我认为,我需要一个算法和一种使用该算法的方法,比如“JS闭包”。我不确定“JS闭包”,只是试着解释我需要什么。


顺晟科技:

不需要闭包。

关键字会起作用。根据Mozilla Developer Network

当函数用作事件处理程序时,它的this被设置为放置侦听器的元素(对于使用其他方法动态添加的侦听器,有些浏览器不遵循此约定)。

这在严格模式下不起作用。在这种情况下,必须将一个事件对象传递到函数中,如下所示。

此事件对象具有属性,该属性基本上是事件要针对的元素,在本例中是单击的按钮。所有这些加在一起,如下所示:

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