Create a simple jQuery hover call-to-action box blog post

Create a simple jQuery hover call-to-action box

Todd Motto

4 Jun, 2012

JavaScript

2 minutes read

Here’s a quick and easy tutorial on how to create a small call to action box using two images, some CSS and jQuery. Article includes a free download for implementation on your own website.

Table of Contents

How It Works

In the markup, we specify two images with the same absolute positioning. This allows ‘Image 1′ to overlap ‘Image 2′ so that it is hidden underneath. ‘Image 1′ is the original image, whereas ‘Image 2′ is a replica of the first image, but with a Gaussian Blur and button applied. Using jQuery, ‘Image 1′ is hidden upon hover over, which shows the second image. Hovering off again does the exact opposite.

HTML

Using an outer ‘div’ to wrap our images, inside we include our hyperlink (to wherever your call to action goes to) and our two overlapping images. Note the first image has a class called ‘static’ and the second, a class called ‘blur’. This is so we know which image is which. Static image is the one we see upon page load, and the blur, is our blurred image. These were both created using Photoshop.

<div id="blur">
  <a href="#">
  <img src="img/hover-box-1.jpg" class="static">
  </a>
  <img src="img/hover-box-2.jpg" class="blur">
</div>

CSS

In the CSS we need to use relative positioning on the surrounding ‘div’ so that any elements inside that we position ‘absolute’ behave correctly.

/* Containing Element */
#blur {
  position:relative;
}

/* Static Image Shown Before Hover */
#blur img.static {
  position:absolute;
  left:0;
  top:0;
  z-index:1;
}

/* Image Shown Upon Hover */
#blur img.blur {
  position:absolute;
  left:0;
  top:0;
}

jQuery

Using a simple jQuery hover function we set the top image (which we’ve specified as “img.static”) to reduce it’s opacity to ’0′ (zero) upon hover. The “350″ is the timing delay in between (which you can change!), so it slowly fades instead of an instant zero opacity.

Once you've finished reading this post, do you want to learn even more?

javascript

Learn JavaScript for FREE!

We've created the best online course for you to fully master JavaScript using real-world examples and techniques you’ll find nowhere else.

  • ES2015 and beyond
  • Variables and Scoping
  • Strings, Numbers and Booleans
  • Conditional Statements
  • Operators
  • Modules
  • Arrays and Objects
  • Functions and Closures
  • Loops and Iteration
Get course Get javascript Basics
$(function(){
  $("img.static").hover(
  function() {
    $(this).stop().animate({"opacity": "0"}, 350);
  },
  function() {
    $(this).stop().animate({"opacity": "1"}, 350);
  });
});

About the author

Todd Motto profile picture

Todd Motto

GDE Google Developer Expert

Todd is the Founder of Ultimate Courses. With a passion for Angular, TypeScript and JavaScript, Todd leads the online courses creation and has written hundreds of articles on front-end web development and beyond. He specialises in breaking down complex topics and understands the critical mission of learning new technology fast, comprehensively and the right way.

Love the post? Share it!

Lots of time and effort go into all our blogs, resources and demos,
we'd love it if you'd spare a moment to share them!

Explore our JavaScript courses

Get started today and join over 60,000 developers.