Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS同步类?如果一个元素有一个类,那么另一个元素也应该有一个类_Javascript_Html_Css - Fatal编程技术网

Javascript JS同步类?如果一个元素有一个类,那么另一个元素也应该有一个类

Javascript JS同步类?如果一个元素有一个类,那么另一个元素也应该有一个类,javascript,html,css,Javascript,Html,Css,我知道有很多关于JS和检查元素是否有特定类的类似问题。我还有一个无法解决的问题。 我有一个导航汉堡,当点击它时(使用CSS和JS),它会转换成X,并打开一个下拉菜单。汉堡包和该下拉菜单仅在特定的媒体查询中可见。因此,如果您通过单击汉堡打开菜单,调整窗口大小,使汉堡和菜单消失,重新调整其大小(汉堡再次出现,但菜单不会自动关闭),汉堡仍然显示为X,因为它不会更新。 我注意到下拉菜单(我没有编码)有一个类分配给它,这取决于它是否打开。汉堡动画也是如此。如果它有类“是活动的”,则显示为X,如果没有,则显

我知道有很多关于JS和检查元素是否有特定类的类似问题。我还有一个无法解决的问题。 我有一个导航汉堡,当点击它时(使用CSS和JS),它会转换成X,并打开一个下拉菜单。汉堡包和该下拉菜单仅在特定的媒体查询中可见。因此,如果您通过单击汉堡打开菜单,调整窗口大小,使汉堡和菜单消失,重新调整其大小(汉堡再次出现,但菜单不会自动关闭),汉堡仍然显示为X,因为它不会更新。 我注意到下拉菜单(我没有编码)有一个类分配给它,这取决于它是否打开。汉堡动画也是如此。如果它有类“是活动的”,则显示为X,如果没有,则显示为汉堡

现在我想将汉堡包与下拉列表同步。因此,如果菜单指定了类“is open”,汉堡应该有“is active”,如果没有,应该删除“is active”

我测试了这段代码:

 if (dropdownmenu.classList.contains('is-open')){
    hamburger.classList.add("is-active");
 } else {
    hamburger.classList.remove("is-active");
 }
问题是,JS没有不断地检查。因此,当我调整窗口大小时,它不会做任何事情。我如何同步这个?
很抱歉,我的英语很差,对JS的理解也很初级。

请尝试将您的代码放入处理程序:


你想达到什么样的行为?@Sacha我很高兴这有帮助!
window.onresize = function() {
    if (dropdownmenu.classList.contains('is-open')){
        hamburger.classList.add("is-active");
    } else {
        hamburger.classList.remove("is-active");
    }
};