javascript - 如何使我的 jquery if/then 语句实时更新?

标签 javascript jquery

我正在尝试编写一个简单的条件,表示如果显示 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/

相关文章:

javascript - 如何将 Node.js PhantomJS 包装器中的事件从页面发布到 Node ?

javascript - 所有 HTML 文件中的通用 CSS

jquery - 由于某些问题,Bootstrap 下拉菜单未打开

jquery - 具有 Twitter bootstrap 主题的多选两列传输小部件

javascript - 找到 anchor 并使用 jquery 设置为事件状态

javascript - URL 中带有 GET 参数的 AJAX POST 请求

javascript - Magento 2在select.html中调用自定义库

javascript - jQuery 的 CSS3 效果仅适用于 chrome 调试

javascript - VueJs 如何从 v-repeat 复制对象?

javascript - 捕获特定 jQuery Mobile 页面上的滚动事件