Reputation: 179
I have a table on every table when I move my mouse to show a pop up will appear the thing is when I move my mouse on the first one it shows me all, would there be a possibility to show only the one on which mouse is hovered over? as of I want to when the user hover's it shows the pop up of the one which the mouse is hovering over, not all the pop up should be shown as of now
$(document).ready(function() {
$('.fa-bar-chart').mouseover(function() {
$(".bar_graph").show();
});
$('.fa-bar-chart').mouseout(function() {
$(".bar_graph").hide();
});
});
table {
margin-top:80px;
}
i {
position: relative;
}
.bar_graph {
width: 200px;
height: 200px;
background-color: #efefef;
position: absolute;
top: 0;
right: -200px;
padding: 0;
padding-right: 10px;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<table>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true">Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true">Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true"> Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true">Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
</table>
Upvotes: 2
Views: 73
Reputation: 67505
The $(".bar_graph")
selector will return all the elements with the class bar_graph
, You should use this
to refer to the related bar_graph
like :
$(".bar_graph",this).show();
//Or
$(this).find(".bar_graph").show();
Hope this helps.
$(document).ready(function() {
$('.fa-bar-chart').mouseover(function() {
$(".bar_graph", this).show();
});
$('.fa-bar-chart').mouseout(function() {
$(".bar_graph", this).hide();
});
});
table {
margin-top:80px;
}
i {
position: relative;
}
.bar_graph {
width: 200px;
height: 200px;
background-color: #efefef;
position: absolute;
top: 0;
right: -200px;
padding: 0;
padding-right: 10px;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<table>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true">Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true">Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true"> Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
<tr>
<td>Stock In Trade <i class="fa fa-bar-chart" aria-hidden="true">Show
<div class="bar_graph">
<div class="bars">
<span class="line_gr"></span>
<p>2016</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2015</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2014</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2013</p>
</div>
<div class="bars">
<span class="line_gr"></span>
<p>2012</p>
</div>
</div>
</i>
</td>
</tr>
</table>
Upvotes: 3