您好,登錄后才能下訂單哦!
這篇“html中如何實現默認隱藏左側菜單”文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“html中如何實現默認隱藏左側菜單”,小編整理了以下知識點,請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進入主題吧。
html中實現默認隱藏左側菜單的示例
這個問題看似很簡單,只需要找到對應的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")); }); }; });
以上是“html中如何實現默認隱藏左側菜單”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。