默认隐藏左侧菜单的方法_html/css_WEB-ITnose
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了默认隐藏左侧菜单的方法_html/css_WEB-ITnose,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2837字,纯文字阅读大概需要5分钟。
内容图文
![默认隐藏左侧菜单的方法_html/css_WEB-ITnose](/upload/InfoBanner/zyjiaocheng/409/be1a139f3a0a43c2a39a6b8ed4281b5e.jpg)
初
这个问题看似很简单,只需要找到对应的js和css,设置左侧菜单不显示或者默认点击一次即可。沿着上面的思路,我改出了第一版:
$(document).ready(function() { $("#menu a.menu").click(function(){ $("#menu li.menu").removeClass("active"); $(this).parent().addClass("active"); if($("#openClose").hasClass("close")){ $("#openClose").click(); } }); if($("#openClose").hasClass("close")){ $("#openClose").click(); } });
经测试,修改未通过。在登陆成功,跳转到这个页面时会明显看出左侧菜单的渐默。
次
从上次修改中可以看出,左侧菜单是默认显示的。由于js实现的效果不符合需求,只能改css了。
$("#right").width($("#content").width()-$("#openClose").width()-5);
做到这里感觉还是蛮轻松的,测试也没有明显的问题。事情总有反复,bug也是出人意料,在Firfox下整个页面只有顶部菜单栏可以正常显示。问题在这儿变得有点麻烦了,浏览器兼容性很难解决。
终
CSS display 属性只定义了值为'none'时,对应元素不在页面显示,并没有规范浏览器的实现。
网上的搜索结果也没有相关问题的解决方案,只能自己想办法了。
既然只在Firfox下有问题,则判断浏览器厂商,做特殊处理,代码如下:
if($.browser.mozilla){ };
利用FirBug的查看器可知,右侧页面iframe的src为空,且左侧菜单虽未显示,但内容已加载完成。知道问题症结所在,就好解决了。找出默认菜单,取得菜单链接,为右侧页面iframe的src赋值。
$(document).ready(function() { if($.browser.mozilla){ $("#mainFrame").attr("src",$("#menuFrame").contents().find("li.active :first-child").attr("href")); }; $("#menu a.menu").click(function(){ $("#menu li.menu").removeClass("active"); $(this).parent().addClass("active"); if($("#openClose").hasClass("close")){ $("#openClose").click(); } if($.browser.mozilla){ $("#mainFrame").attr("src",$("#menuFrame").contents().find("li.active :first-child").attr("href")); }; }); });
但问题还是没有解决,切换菜单滞后。在点击切换菜单后页面没有反应,在第二次点击切换菜单时才会跳转得到第一次要跳转的菜单,或者说是切换菜单需要单击两次。
这种情况应该是获取默认菜单url的时机不对,应该在左侧菜单切换完成后获取。在菜单绑定的单击方法中,左侧菜单的内容并没有完成刷新。
查资料可知,iframe有一个加载完成事件,正好可以用在这里。最终代码如下:
$(document).ready(function() { $("#menu a.menu").click(function(){ $("#menu li.menu").removeClass("active"); $(this).parent().addClass("active"); if($("#openClose").hasClass("close")){ $("#openClose").click(); } }); if($.browser.mozilla){ $("#menuFrame").on("load",function(){ $("#mainFrame").attr("src",$("#menuFrame").contents().find("li.active :first-child").attr("href")); }); }; });
经测试,没有bug,这个问题也就解决了。
内容总结
以上是互联网集市为您收集整理的默认隐藏左侧菜单的方法_html/css_WEB-ITnose全部内容,希望文章能够帮你解决默认隐藏左侧菜单的方法_html/css_WEB-ITnose所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。