Reputation: 133
Hi i have a image that if i click on the image, multiple images go from hidden to visiable, however is there a way that i can keep clicking on the image and keep switching between hidden and visible, because right now i can only make the images visible on one click.
HTML
<nav align="middle">
<ul>
<li><a href="#"><img src="images/video-1.png" class="left" style="width:100px;height:50px;"></a></li>
<li><a href="#"><img src="images/news-1.png" class="left" style="width:100px;height:50px;"></a></li>
<li><a href="#"><img src="images/logo-4.png" class="home" style="width:80px;height:80px;" onclick="$('.video' || '.news' || '.games' || 'music').toggle();" onmouseover="this.src='images/logo-4-hover.png';"
onmouseout="this.src='images/logo-4.png';"></a></li>
<li><a href="#"><img src="images/games-1.png" class="right" style="width:100px;height:50px;"></a></li>
<li><a href="#"><img src="images/music-1.png" class="right" style="width:100px;height:50px;"></a></li>
</ul>
</nav>
Javascript
$(document).ready(function(){
$("img.home").click(function() {
$("img.left, img.right").css("visibility", "visible");
});
});
CSS
li {
display: inline;
margin-right: .75em;
list-style: none;
margin: 0;
padding: 0;
}
html,body {
height:100%; /* new */
}
ul {
position: fixed;
bottom: 0;
width: 100%;
list-style: none;
margin: 0;
padding: 0;
border: 2px solid #ccc;
border-width: 3px 0;
}
img.left{
visibility: hidden;
}
img.right{
visibility: hidden;
}
Upvotes: 1
Views: 111
Reputation: 9813
Add css :
img.left.active, image.right.active {
visibility: visible;
}
Then change the code to :
$(document).ready(function(){
$("img.home").click(function() {
$("img.left, img.right").toggleClass('active');
});
});
Demo :
$(document).ready(function(){
$("img.home").click(function() {
$("img.left, img.right").toggleClass('active');
});
});
img.left{
visibility: hidden;
}
img.right{
visibility: hidden;
}
img.left.active, img.right.active {
visibility: visible;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<nav align="middle">
<ul>
<li><a href="#"><img src="https://placehold.it/200x100" class="left" style="width:100px;height:50px;"></a></li>
<li><a href="#"><img src="https://placehold.it/200x100" class="left" style="width:100px;height:50px;"></a></li>
<li><a href="#"><img src="https://placehold.it/50x50" class="home" style="width:80px;height:80px;" onclick="$('.video' || '.news' || '.games' || 'music').toggle();" onmouseover="this.src='http://placekitten.com/g/50/50';"
onmouseout="this.src='https://placehold.it/50x50';"></a></li>
<li><a href="#"><img src="https://placehold.it/200x150" class="right" style="width:100px;height:50px;"></a></li>
<li><a href="#"><img src="https://placehold.it/200x150" class="right" style="width:100px;height:50px;"></a></li>
</ul>
</nav>
Upvotes: 1
Reputation: 516
Try this:
CSS:
.visible {
visibility: visible !important;
}
JS:
$(document).ready(function(){
$("img.home").click(function() {
$("img.left, img.right").toggleClass("visible");
});
});
Upvotes: 2
Reputation: 3209
You can use $.toggle()
$(document).ready(function(){
$("img.home").click(function() {
$("img.left, img.right").toggle();
});
});
Upvotes: 0