【发布时间】:2014-12-17 03:39:16
【问题描述】:
我最近在此处发布了一篇帖子,并在解决第一个问题后将其关闭,但我仍然无法修复此问题。
我有一个带有“客户”、“项目”等链接的侧边栏。它们链接到相应的页面。但是,我希望能够为我单击的任何菜单项进行设置,无论是项目还是客户。
这是侧边栏 HTML(ruby on rails):
<div id="sidebar" class="sidebar-offcanvas">
<div class="col-md-12">
<h3></h3>
<ul class="nav nav-pills nav-stacked">
<li><%= link_to 'Customer Management', customers_path %></li>
<li><%= link_to 'Project Management', projects_path %></li>
</ul>
</div>
</div>
这是该 HTML 下的 javascript:
<script type='text/javascript'>
$(document).ready(function() {
$('#sidebar .nav-pills a').click(function() {
$('#sidebar .nav-pills li.active').removeClass('active');
$(this).parent().addClass('active');
});
});
</script>
当我点击“客户”页面时,什么也没有发生。但是,如果我将第一个 <li> 设置为活动类,那么我可以看到应用到它的 class="active" css 样式。
这是它背后的 CSS:
body,html,.row-offcanvas {
height:100%;
}
body {
padding-top: 50px;
}
#sidebar {
width: inherit;
min-width: 220px;
max-width: 220px;
background-color:#E6E5E5;
float: left;
height:100%;
position:relative;
overflow-y:auto;
overflow-x:hidden;
}
#main {
height:100%;
overflow:auto;
}
/*
* off Canvas sidebar
* --------------------------------------------------
*/
@media screen and (max-width: 768px) {
.row-offcanvas {
position: relative;
-webkit-transition: all 0.25s ease-out;
-moz-transition: all 0.25s ease-out;
transition: all 0.25s ease-out;
width:calc(100% + 220px);
}
.row-offcanvas-left
{
left: -220px;
}
.row-offcanvas-left.active {
left: 0;
}
.sidebar-offcanvas {
position: absolute;
top: 0;
}
}
#sidebar a:hover {
background-color:#6699FF;
}
任何帮助将不胜感激。我已经为此奋斗了一个多小时。
【问题讨论】:
-
当你点击链接时,它是导航到那个页面,还是这是一个单页应用?
-
它导航到该页面,但侧边栏仍然出现。
-
您希望如何看到全新文档中的更改..?!!您应该将单击的选项存储在
localStorate、cookies或其他内容中,在新页面的load中检索它并相应地设置类。 -
是的,对不起,我想我误读了你原来的问题。它加载在同一页面上。
标签: jquery ruby-on-rails