Reputation: 1466
I have navigation. I want to display icon when hover on a particular a
tag.
<ul class="nav nav-pills nav-justified">
<li>
<a href="#" class="linked">
All <i class="fa fa-align-justify justify"></i>
</a>
</li>
<li>
<a href="#" class="linked">
DEVELOPMENT <i class="fa fa-align-justify justify"></i>
</a>
</li>
<li>
<a href="#" class="linked">
BRANDING <i class="fa fa-align-justify justify"></i>
</a>
</li>
<li>
<a href="#" class="linked">
DESIGN <i class="fa fa-align-justify justify"></i>
</a>
</li>
<li>
<a href="#" class="linked">
PRINT <i class="fa fa-align-justify justify"></i>
</a>
</li>
</ul>
.justify{
display: none;
}
$('.linked').hover(function(){
$('.justify').show("slow");
},function(){
$(".justify").hide("slow");
});
I know my JS is wrong because when you hover on any a
it will show the icon on all other a
also. I don't know how to use 'this' in JS. Can anyone help?
Upvotes: 1
Views: 104
Reputation: 337560
You need to use this
to find the element within the one which triggered the event:
$('.linked').hover(function(){
$('.justify', this).show("slow");
},function(){
$(".justify", this).hide("slow");
});
Or alternatively you can use a single hover
handler and toggle
:
$('.linked').hover(function(){
$('.justify', this).toggle("slow");
});
Upvotes: 1