Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<main>
  <h1>Image Carousel</h1>
  <div class="hero">
    <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-65/cat1.jpg" alt="" />
  </div>
  <div class="thumbnails">
    <a class="thumbnail"><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-65/cat1.jpg" alt="" /></a>
    <a class="thumbnail"><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-65/cat2.jpg" alt="" /></a>
    <a class="thumbnail"><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-65/cat3.jpg" alt="" /></a>
    <a class="thumbnail"><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-65/cat4.jpg" alt="" /></a>
  </div>
  <script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</main>
</body>
</html>
 
* {
  box-sizing: border-box;
}
main {
  padding: 30px;
  min-width: 250px;
  background-color: #FFF;
}
h1 {
  padding: 10px;
  width: 300px;
  text-align: center;
  margin-top: 10px;
  border: 1px solid gray;
  border-radius: 2%;
  background-color: #FFF;
}
.hero {
  height: 200px;
  margin-bottom: 20px;
}
.hero img {
  height: 100%
}
img {
  border-radius: 2%;
}
.thumbnail {
  display: inline-block;
  cursor: pointer;
  height: 60px;
}
a.thumbnail:hover {
  box-shadow: 5px 5px 5px gray;
}
.thumbnail img {
  max-height: 100%;
}
 
$('.thumbnail img').click(function() {
  var thumbSrc = $(this).attr('src')
  var largeSrc = $('.hero img').attr('src')
  $('.hero img').attr('src', $(this).attr('src').replace(largeSrc, thumbSrc))
})
/*
Why doesn't the following code work? This was my first try...
                 
  $(function() {
  $(".thumbnail").click(function() {
    $(".hero").children("img").attr("src", $(this).attr("src"))
  })
})
*/
  
  
/*
This is another method, a solution a mentor in a Q&A session helped me create:
  $(function() {
  $(".thumbnails").on("click", ".thumbnail", function() {
    console.log($(this)[0])
    var thumb = $(this)[0].innerHTML;
    $(".hero").html(thumb);
  })
})
*/
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
jhwheelerpro
0viewers