我在我的Rails應用程序中有代碼,它在單擊X時成功關閉了切換邊欄。我做了其他更改,以某種方式阻止我的代碼工作。當我將鼠標懸停在x上時,它突出顯示爲其他鏈接,但是當我點擊它時,窗口保持打開狀態,並在當前鏈接的末尾追加/#
。當我點擊邊欄中的其他鏈接時,他們會顯示正確的視圖並關閉側邊欄。我改變了一些我找不到的東西。如何通過單擊X來更正我的代碼以關閉切換的側邊欄窗口?
我的側邊欄,其中X是指:
<ul class="sidebar-nav">
<li class="sidebar-close"><%= link_to "#" do %><i class="fa fa-times"></i><% end %></li>
.....
</ul>
CSS的側邊欄關閉:
.sidebar-nav > .sidebar-close { height: 50px; font-size: 150%; line-height: 200%; color: $sideBarClose; text-align: right; padding-right: 10px; }
.sidebar-nav > .sidebar-close a { color: $sideBarLink; }
.sidebar-nav > .sidebar-close a:hover { color: $white; background: none; }
我的菜單按鈕:
<div class="menu-button"><%= link_to "#menu-toggle", class: "btn btn-default btn-lg", id: "menu-toggle" do %><i class="fa fa-bars"></i><%= " #{t :menu}" %><% end %></div>
的CSS菜單按鈕:
.menu-button { padding-top: 10px; position: absolute; left: 15px; top: 0px; z-index: 1; }
腳本(包括代碼以關閉窗口,如果你點擊側邊欄之外:
$("body, html").not('#menu-toggle').click(function(e) {
console.log(e.target);
if($('#wrapper').hasClass("toggled") && !$(e.target).is('#menu-toggle, #sidebar-wrapper, #sidebar-wrapper *'))
{
//alert('asd');
$("#menu-toggle").trigger("click");
}
});
$("#menu-toggle").click(function(e) {
e.preventDefault();
$("#wrapper").toggleClass("toggled");
});
我會提到,我沒有任何特殊的Javascript這個工作。點擊X不再關閉窗口,我只是沒有看到我改變了什麼。
更新:在@Justastudent的幫助下,我能夠創建一個JSFiddle。當你點擊菜單按鈕時,它會很好地切換。如果您打開邊欄並點擊邊欄以外的邊欄將關閉。如果您點擊邊欄右上角的X,則不起作用。它似乎卡住了。當我在系統上點擊X時,頁面向下滾動,我無法將其滾動回頂端。我必須關閉標籤並訪問新標籤中的鏈接才能顯示小提琴頁面的頂部。
https://fiddle.jshell.net/lightbe/x0n151rt/5/
您可以創建一個[mcve],以便重現問題嗎? –
我不知道我能得到多少最小化。請停止瘋狂。我不會有一些熱門的東西來炫耀。 –
如果我把我所有的代碼都告訴我簡化代碼。很明顯,只有一個學生沒有做任何事情,只是吠叫。我已經簡化了代碼。我可以很好地重現它。建設性的批評我會接受。不幼稚的垃圾。 –