How to Create an Image Rollover on Carousel Gallery (and open links in a new tab)

Note: This post assumes you have some basic level understanding of JS/HTML/CSS. To request a custom Squarespace tweak get in touch here.


Request

Can you create a mouseover effect so these brand names change to a different color when you mouseover the image? Also, the links for these images are not able to open in a new window.

Problem

As it is, this particular gallery design doesn't allow clickthrough in new tab and creating a rollover for the Carousel (while possible) is a little trickier than the grid.

 

Solution

After hacking around I figured it would be easier to code it from scratch using a JQuery plugin called Slick.

Here's how you can do it too, to create the same hover effect and enable your clickthrough links to open in a new tab.

 

How to Install a Custom Carousel Gallery for Squarespace Using Slick

Step 1.

Add the following code to your PAGE HEADER CODE INJECTION

No option to open in a new window

No option to open in a new window

<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css"/>
<!-- Add the slick-theme.css if you want default styling -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.6.0/slick-theme.css"/>


Step 2.

Put this code in a Code Block wherever you want your gallery to be. Note the target="_blank" attribute in the <a> tag. This will ensure your image links open in a new tab.  I'm also using 2 images, the 2nd is your mouseover image. 

<div class="your-class"> 
  
<div>
<a class="foo" href="https://www.whereyouwannago.com" target="_blank">
<img src="/s/color1.png">
<img src="/s/color2.png">
  </a></div>
  
<div>your content</div> 
<div>your content</div> 
</div>

 

Step 3.

Put this script in a Code Block. You'll find the settings here to customize things like your gallery speed, responsiveness and a lot more.

<script type="text/javascript"> 
$(document).ready(function(){ 
$('.your-class').slick({ 
setting-name: setting-value 
}); 
}); 
</script>

Step 4. 

Insert the following in your Design > Custom CSS. The first 3 lines handle the mouseover effect. Hiding the 2nd image unless the mouse if over the 1st. Make sense?

.foo img:last-child{display:none}
.foo:hover img:first-child {display:none}
.foo:hover img:last-child {display:block}

.slick-slide img{
  max-height: 100px;
}

.slick-prev:before{
    content: "\e02c" !important;
}

.slick-next:before{
    content: "\e02d" !important;
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before{
  opacity: .6;
}

.slick-prev:before, .slick-next:before{
font-family: 'squarespace-ui-font' !important;
    font-style: normal;
      font-size: 32px !important;
    width: 32px;
    height: 32px;
    line-height: 32px !important;
    speak: none;
    font-weight: normal;
    -webkit-font-smoothing: antialiased !important;
  opacity: 1;
      color: #C5C5C5 !important;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
}

.slick-prev, .slick-next{
font-family: 'squarespace-ui-font' !important;
    font-style: normal;
      font-size: 0px;
    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
    speak: none;
    font-weight: normal;
    -webkit-font-smoothing: antialiased !important;
      color: #C5C5C5 !important;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
}

When it's done here's what you get...


Omari Harebin

Founder of SQSPThemes.com, one of the worlds most trusted Squarespace resources. Since 2015 we’ve helped over 20,000 Squarespace users grow their businesses with custom templates, plugins and integrations.

https://www.sqspthemes.com
Previous
Previous

How to Display Post Thumbnails as Banners Above Blog Posts in Brine Template family

Next
Next

A Beginners Guide to Squarespace Custom CSS