Responsive Image Carousel With Mouse Interactions
File Size: | 3.47 KB |
---|---|
Views Total: | 4316 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

A fully responsive image carousel where the users are allowed to switch between background images and scroll through thumbnails with mouse interactions.
How to use it:
1. Add thumbnail and background images to the carousel.
<div id="wrap"> <a href="#" class="hb"> <div class="c"> <img src="https://source.unsplash.com/OEMsLzuWKQc/2000x1300" alt=""/> <div class="txt"> <h1>Image 1</h1> <p>Image Descript Here</p> </div> </div> </a> <div class="fullBg"> <img src="https://source.unsplash.com/OEMsLzuWKQc/2000x1300" alt=""/> </div> <a href="#" class="hb"> <div class="c"> <img src="https://source.unsplash.com/SqAcgMAWIaM/2000x1300" alt=""/> <div class="txt"> <h1>Image 2</h1> <p>Image Descript Here</p> </div> </div> </a> <div class="fullBg"> <img src="https://source.unsplash.com/SqAcgMAWIaM/2000x1300" alt=""/> </div> <a href="#" class="hb"> <div class="c"> <img src="https://source.unsplash.com/n4fqnNWqAe0/2000x1300" alt=""/> <div class="txt"> <h1>Image 3</h1> <p>Image Descript Here</p> </div> </div> </a> <div class="fullBg"> <img src="https://source.unsplash.com/n4fqnNWqAe0/2000x1300" alt=""/> </div> <a href="#" class="hb"> <div class="c"> <img src="https://source.unsplash.com/QJZCtkeuwSo/2000x1300" alt=""/> <div class="txt"> <h1>Image 4</h1> <p>Image Descript Here</p> </div> </div> </a> <div class="fullBg"> <img src="https://source.unsplash.com/QJZCtkeuwSo/2000x1300" alt=""/> </div> </div>
2. Make the carousel fullscreen.
body,html{ overflow:hidden; height:100%; font-size:16px; background:#000; color:#fff; } #wrap{ position:absolute; left:0; top:0; width:150%; height:100%; display:flex; align-items:stretch; margin:0 25%; }
3. The core CSS and CSS rules for the carousel.
.hb { position:relative; width:25%; z-index:1; display:flex; align-items:center; z-index:2; trasnform:scale(.97); } .c { position:relative; display:block; max-width:90%; } .c img { position:relative; display:block; width:100%; height:auto; z-index:2; } .txt { position:absolute; top:100%; left:10%; width:80%; opacity:0; padding:1em 0 0 1em; border-left:1px solid; z-index:1; transform:scaleY(1) translateY(-50px); transition:transform .2s, opacity .5s; } h1 { font-size:1.2em; font-weight:700; text-transform:uppercase; } .hb:hover .txt { opacity:1; transform:scaleY(1) translateY(0); } .fullBg { position:fixed;top:0;left:0;width:100%;height:100%; opacity:0; transition:transform .5s, opacity .5s; transform:scale(1); z-index:1; } .fullBg img { width:100%;height:100%; object-fit:cover;object-position:center; opacity:.5; } .hb:hover + .fullBg { opacity:1; transform:scale(1.02); }
4. Place the latest version of jQuery JavaScript library at the end of the document.
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>
5. The main Javascript (jQuery Script) to activate the carousel.
$(document).ready(function(){ var docWidth = $('body').width(), $wrap = $('#wrap'), $images = $('#wrap .hb'), slidesWidth = $wrap.width(); $(window).on('resize', function(){ docWidth = $('body').width(); slidesWidth = $wrap.width(); }) $(document).mousemove(function(e) { var mouseX = e.pageX, offset = mouseX / docWidth * slidesWidth - mouseX / 2; $images.css({ '-webkit-transform': 'translate3d(' + -offset + 'px,0,0)', 'transform': 'translate3d(' + -offset + 'px,0,0)' }); }); })
This awesome jQuery plugin is developed by web-tiki. For more Advanced Usages, please check the demo page or visit the official website.