我正在尝试编写一个简单的条件,表示如果显示 div1,则将 div2 的显示更改为无。但是,我希望实时更新。因此,只要 div1 显示为“网格”,div2 就会从视线中消失。
<script>
if($('.div1').css("display") == "grid") {
$('div2').css({"display":"none"});
}
</script>
我在这里做错了什么?
最佳答案
一段 JavaScript 代码不会在您方便的时候神奇地运行,除非您让它以这种方式运行。您编写的内容只会运行一次,然后继续。 Javascript 本身不会寻找事情何时发生变化。
您需要跟踪更改并在更改后运行代码。如果您正在为网站编写 javascript,您可能知道这些更改何时发生,因此您可以在它们发生时执行代码块。例如,如果当用户单击
按钮时,div1
更改为 grid
,那么您可以将函数绑定(bind)到其单击事件
因此处理这种情况。
更高级的方法是监视 DOM 上的更改并在发生更改时运行函数。您可以使用MutationObserver来做到这一点s。您可以精确地执行您想要的操作,例如,如果 div 更改为网格,则运行 myFunction()
。
另一种方法是让函数定期运行,但这是一种过时的技术,容易出现错误和崩溃,并且绝不建议在 JavaScript 中使用。
关于javascript - 如何使我的 jquery if/then 语句实时更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28283543/