Show image link when hanging in jquery

I use Bootstrap 3 and jQuery 1.9.1 to make a site where the profile image is displayed in the <li> . I want to show the "Refresh Image" link when I smoke over the image. So far I managed to fade the image when hovering over it, but I can’t show the link or text hanging above the image. Here are my codes

JQuery

 $(function () { $(".img-profile").hover( function () { $(this).fadeTo(200, 0.45); }, function () { $(this).fadeTo(200, 1); }); }); 

CSS

 .img-profile { margin-top: 10px; width: 200px; height: 250px; } 

HTML

 <div class="navbar-default sidebar" role="navigation"> <div class="sidebar-nav navbar-collapse"> <ul class="nav" id="side-menu"> <li> <img class="img-responsive img-rounded img-profile" src="myimage.png" alt="profile_pic" /> </li> </ul> </div> </div> 

I searched for other sources, but none of them work, as this will lead to errors of my own CSS styles. How can I show the link in the middle of the image on hover? Need this help badly! Thanks.

+6
source share
4 answers

Hopefully if you want to do this without jQuery - even if you want to manage it using jquery, this can also be done .. Not a big problem

 .img-profile { margin-top: 10px; width: 200px; /* if image is bigger it will adjust according to parent width */ height: 250px; display: inline-block; } .img-wrap { display: inline-block; position: relative; } .img-wrap:hover .img-profile { opacity: 0.5; } .img-wrap .hover-div { display: none; position: absolute; text-align: center; top: 50%; left: 0; right: 0; margin-top: -10px; z-index: 10; /* width of image container */ } .img-wrap:hover .hover-div { display: inline-block; } 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <div class="navbar-default sidebar" role="navigation"> <div class="sidebar-nav navbar-collapse"> <ul class="nav" id="side-menu"> <li class="img-wrap"> <img class="img-responsive img-rounded img-profile center-block" src="https://www.google.co.in/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="profile_pic" /> <div class="hover-div"><a href="#">Update Image</a> </div> </li> </ul> </div> </div> 
+5
source

Yoy should try this. this is exactly what you want.

 $(function () { $(".img-profile").hover( function () { $(this).fadeTo(200, 0.45); $(this).closest("li").find("a").show(); }, function () { $(this).fadeTo(200, 1); $(this).closest("li").find("a").hide(); }); }) 
 .img-profile { margin-top: 10px; width: 200px; height: 250px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <div class="navbar-default sidebar" role="navigation"> <div class="sidebar-nav navbar-collapse"> <ul class="nav" id="side-menu"> <li> <img class="img-responsive img-rounded img-profile" src="https://i.stack.imgur.com/TwJmm.gif?s=328&g=1" alt="profile_pic" /><a href="https://www.google.com" style="display:none">Link that you want</a> </li> </ul> </div> </div> 
+2
source

you can achieve everything with just css.

HTML

 <ul class="nav" id="side-menu"> <li> <img class="img-responsive img-rounded img-profile" src="myimage.png" alt="profile_pic" /> <p class="text">change profile picture</p> </li> </ul> 

CSS

 .img-profile { margin-top: 10px; width: 200px; height: 250px; opacity: 1.0; filter:alpha(opacity=100); } .text { display: none; } img-profile:hover { opacity: 0.45; filter:alpha(opacity=45); } img-profile:hover + .text { display: block; } 

check fiddle

+2
source

HTML

 <div class="navbar-default sidebar" role="navigation"> <div class="sidebar-nav navbar-collapse"> <ul class="nav" id="side-menu"> <li> <img class="img-responsive img-rounded img-profile" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Colossoma_macropomum_01.jpg/800px-Colossoma_macropomum_01.jpg" alt="profile_pic" /> <a href="" id="update">Update Image</a> </li> </ul> </div> </div> 

CSS

 .img-profile { margin-top: 10px; width: 200px; height: 250px; } #side-menu li a{ display:none; } #side-menu li:hover a#update{ display:block; } 

Js

 $(function () { $(".img-profile").hover( function () { $(this).fadeTo(200, 0.45); }, function () { $(this).fadeTo(200, 1); }); }); 
+2
source

All Articles