Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 根据窗口宽度更改状态_Javascript_Redux_Conditional Statements - Fatal编程技术网

Javascript 根据窗口宽度更改状态

Javascript 根据窗口宽度更改状态,javascript,redux,conditional-statements,Javascript,Redux,Conditional Statements,如果窗口宽度小于768,我想关闭一个旁白菜单,我可以在reducer中使用以下代码: case "SCREEN_RESIZE": if(action.screenWidth <= 768) { return {...state, changeHamburger: state.changeHamburger = false} } else { return {...state, changeHamburger: state.changeHamburger = tr

如果窗口宽度小于768,我想关闭一个旁白菜单,我可以在reducer中使用以下代码:

case "SCREEN_RESIZE":
if(action.screenWidth <= 768) {
  return {...state, changeHamburger: state.changeHamburger = false}
} else {
  return {...state, changeHamburger: state.changeHamburger = true}
}
我的问题是,当窗口宽度小于768时,菜单关闭,但当我打开菜单并更改浏览器宽度大小时。它再次关闭,因为减速器中的条件明显起作用


如何在小于768px的条件状态下不关闭调整大小?

您可以添加一个名为
ismenuOpenedmanual
的标志,默认情况下将其设置为
false
。在汉堡图标的点击事件功能中,根据以下情况手动更改
IsmenuOpened
的状态:

1) Screensize <= 768 && Menu is opened manually -> isMenuOpenedManually = true;
2) Screensize <= 768 && Menu is closed manually -> isMenuOpenedManually = false;
1)屏幕大小为手动打开=真;
2) 屏幕大小isMenuOpenedManually=false;
我可能错过了一些案子,但你可能有办法处理它。希望这能解决你的问题

1) Screensize <= 768 && Menu is opened manually -> isMenuOpenedManually = true;
2) Screensize <= 768 && Menu is closed manually -> isMenuOpenedManually = false;