Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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_Jquery_Css_Html - Fatal编程技术网

Javascript 移动菜单触发器

Javascript 移动菜单触发器,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我正在为一个有响应的网站建立一个菜单——我的查询是人们认为显示/隐藏菜单的最佳解决方案 我已经在这个JSFIDLE中设置了菜单- 菜单隐藏在768px,显示一个按钮——我正在考虑添加一个简单的js脚本 $('.menu-btn).click(function(){ $('nav ul').slidetoggle(); }); 或类似 这会在点击时切换菜单-但我担心的是,如果用户再次隐藏菜单,然后将屏幕扩展到768以上,菜单将保持隐藏,并且没有按钮可重新显示 是否有更好的跨浏览器/设备解决

我正在为一个有响应的网站建立一个菜单——我的查询是人们认为显示/隐藏菜单的最佳解决方案

我已经在这个JSFIDLE中设置了菜单-

菜单隐藏在768px,显示一个按钮——我正在考虑添加一个简单的js脚本

$('.menu-btn).click(function(){
  $('nav ul').slidetoggle();

});
或类似

这会在点击时切换菜单-但我担心的是,如果用户再次隐藏菜单,然后将屏幕扩展到768以上,菜单将保持隐藏,并且没有按钮可重新显示


是否有更好的跨浏览器/设备解决方案?还是只使用CSS的解决方案?这也需要在IE8上进行

不用滑动切换,只需在
#nav
元素上切换
打开的
类即可。
然后在“移动”大小的媒体查询中,让
#nav.open
显示菜单(我通过将
#nav.open>ul
设置为
显示:block;

例如:


该示例未设置动画,但您可以在高度上添加CSS3过渡,而不只是更改
显示:无。CSS3转换在IE 8或9中不起作用,菜单只会出现,但没有移动设备运行IE8或9,因此这真的不应该是一个问题。

好吧,有两种解决方案可以解决您的问题,如下所示:

*使用仅适用于768px或类似bellow的
切换类,而不是
滑动切换

*或者使用仅css的方法,在代码顶部添加复选框和标签,将
按钮
标记替换为
标签
标记;当选中
复选框
时,将显示菜单,如