Reputation: 797
Here is the link,
I want the side-bar same as shown in my link
I want the pointer that is moving along with my selection on different labels.Example home
, charts
,etc. So can anyone help me with the jquery.
html
<div id="sidebar-nav">
<ul id="dashboard-menu">
<li class = "active">
<div class="pointer">
<div class="arrow"></div>
<div class="arrow_border"></div>
</div>
<a href="#">
<i class="fa fa-home fa-fw"></i>
<span>Home</span>
</a>
</li>
<li>
<a href="#">
<i class="fa fa-signal"></i>
<span>Charts</span>
</a>
</li>
<li>
<a class="" href="#">
<span data-toggle="collapse" data-parent="#menu-group-1" href="#sub-item-1" class="sign">
<i class="fa fa-group"></i>Asset
</span>
</a>
<ul class="children nav-child unstyled small collapse" id="sub-item-1">
<li class="item-2 deeper parent active">
<li>
<span data-toggle="collapse" data-parent="#menu-group-1">
<i class="fa fa-frown-o"></i>
</span>pending
</li>
<li>
<span data-toggle="collapse" data-parent="#menu-group-1">
<i class="fa fa-plus"></i> </i>
</span>ADD
</li>
<li>
<span data-toggle="collapse" data-parent="#menu-group-1">
<i class="fa fa-stack-exchange"></i>
</span>Stock
</li>
<li>
<span data-toggle="collapse" data-parent="#menu-group-1">
<i class="fa fa-bullseye"></i>
</span>View all
</li>
</li>
</ul>
</li>
<li>
<a class="" href="#">
<span data-toggle="collapse" data-parent="#menu-group-2" href="#sub-item-2" class="sign">
<i class="fa fa-shopping-cart"></i>Vendor
</span>
</a>
<ul class="children nav-child unstyled small collapse" id="sub-item-2">
<li class="item-2 deeper parent active">
<li>
<span data-toggle="collapse" data-parent="#menu-group-2">
<i class="fa fa-plus"></i>
</span>ADD
</li>
<li>
<span data-toggle="collapse" data-parent="#menu-group-2">
<i class="fa fa-eye"></i>
</span>View
</li>
</li>
</ul>
</li>
<li> <a href="#" id="table">
<i class="fa fa-th-large"></i>
<span>Tables</span>
</a>
</li>
</ul>
</div>
I had tried this.
js
$(document).ready(function() {
$('#sidebar ul').on('click', 'li' ,function(){
$(this).append("<div class="pointer">
<div class="arrow"></div>
<div class="arrow_border"></div>");
});
});
Upvotes: 0
Views: 124
Reputation: 710
You should use CSS-classes. They are simplier and faster than DOM-manipulation.
Add needed blocks to all the li elements and show them by adding class.
There is example I've made for you http://plnkr.co/edit/ZbA05DlRt8lajAQKuvVw?p=preview
Upvotes: 0
Reputation: 56509
The problem is with this
$(this).append("<div class="pointer">
<div class="arrow"></div>
<div class="arrow_border"></div>");
1) Missing to concatenate, so use "
within '
$(this).append('<div class="pointer"><div class="arrow"></div><div class="arrow_border">/div>');
2) I think you're referring to wrong selector
.
use sidebar-nav
instead of sidebar
Based on these items I have created JSFiddle (I've added extra text to show it is working)
Upvotes: 1