This JavaScript code snippet helps you to create a simple review slider with the auto-playing feature. It comes with customer reviews, star ratings, and user profile pic. You can integrate this code snippet to display a testimonial slider on your homepage.
How to Create a Simple Review Slider in JavaScript
1. First of all, create the HTML structure as follows:
- <div class="rbd-core-ui">
- <div class="rbd-review-slider">
- <div class="rbd-review-container">
- <div class="rbd-review review1.1 rbd-curr">
- <h3 class="rbd-heading">Extremely Professional</h3>
- <i class="renderSVG" data-icon="star" data-repeat="5"></i>
- <div class="rbd-content"><img class="rbd-gravatar" src="https://www.gravatar.com/avatar/ee304528491d860812f73d7d5cd0dc72?s=256">Materials are top notch. People are top notch... they knew exactly how to handle my ignorance and turn it to a positive working business…</div>
- <div class="rbd-footing">
- <a class="rbd-button rbd-small" href="#">Read More</a>
- </div>
- <div class="rbd-review-meta">Written by Mark P. on Feb. 18, 2045</div>
- </div>
- <div class="rbd-review review1.2 rbd-next">
- <h3 class="rbd-heading">Test Company Marketing Delivers Such Great Service!</h3>
- <i class="renderSVG" data-icon="star" data-repeat="5"></i>
- <div class="rbd-content"><img class="rbd-gravatar" src="https://www.gravatar.com/avatar/ee304528491d860812f73d7d5cd0dc72?s=256">I'm a big fan of this test company. They really do the best work around, and their prices just can't be beat! I hear that Alex is a pretty cool guy…</div>
- <div class="rbd-footing">
- <a class="rbd-button rbd-small" href="#">Read More</a>
- </div>
- <div class="rbd-review-meta">Written by Alex D. on Feb. 19, 2045</div>
- </div>
- <div class="rbd-review review1.3">
- <h3 class="rbd-heading">Test Review </h3>
- <i class="renderSVG" data-icon="star" data-repeat="5"></i>
- <div class="rbd-content">No Gravatar but here's a review…No Gravatar but here's a review…No Gravatar but here's a review…No Gravatar but here's a review…</div>
- <div class="rbd-footing">
- <a class="rbd-button rbd-small" href="#">Read More</a>
- </div>
- <div class="rbd-review-meta">Written by Anonymous. on Feb. 18, 2045</div>
- </div>
- </div>
- </div>
- </div>
- <script src='https://xhynk.com/content-mask/wp-content/plugins/redbrick-digital-core/assets/js/core.js'></script>
- <script src="./js/script.js"></script>
2. After that, add the following CSS styles into your project:
- .rbd-review-slider .rbd-preloader {
- width: 36px;
- height: 36px;
- margin: 0 auto;
- }
- .rbd-review-slider .rbd-review.rbd-prev {
- transform: translate3d(-100px, 0, -50px);
- display: inline-block;
- }
- .rbd-review-slider .rbd-review.rbd-next {
- transform: translate3d(100px, 0, -50px);
- display: inline-block;
- }
- .rbd-review-slider .rbd-review.rbd-curr {
- z-index: 10;
- transform: translate3d(0, 0, 0) scale(1);
- opacity: 1;
- display: inline-block;
- }
- .rbd-review-slider .rbd-review {
- padding: 20px 30px;
- font-size: 18px;
- line-height: 1.612;
- border-radius: 4px;
- box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.5);
- display: none;
- vertical-align: top;
- transition: opacity 0.35s ease-out, transform 0.35s ease-out;
- opacity: 1;
- position: absolute;
- left: 0;
- right: 0;
- margin: 0 auto;
- overflow: hidden;
- opacity: 0;
- background: #fff;
- max-width: 600px;
- }
- .rbd-review-slider .rbd-review.rbd-first {
- display: block;
- }
- .rbd-review-slider .rbd-heading {
- margin-top: 0;
- margin-bottom: 10px;
- }
- .rbd-review-slider svg {
- fill: #ffbb58;
- width: 24px;
- margin-right: 1px;
- }
- .rbd-review-slider .rbd-review-meta {
- font-size: 12px;
- color: #565656;
- margin-top: 12px;
- text-align: center;
- }
- .rbd-review-slider .rbd-gravatar {
- border-radius: 100%;
- width: 100px;
- float: left;
- margin-right: 15px;
- border: 6px solid transparent;
- box-shadow: 0 3px 12px -2px rgba(0, 0, 0, 0.35);
- }
- .rbd-footing {
- margin: 20px 0 0;
- text-align: center;
- }
- @keyframes round {
- 25% {
- opacity: 1;
- }
- 40% {
- opacity: 0;
- }
- }
3. Finally, add the following JavaScript code and done.
- let options = {
- 'speed': 3000,
- 'pause': true,
- }
- window.addEventListener('DOMContentLoaded', function() {
- let slider = document.querySelector('.rbd-review-slider');
- let slides = slider.querySelectorAll('.rbd-review');
- let total = slides.length;
- let pause = false;
- function pauseSlide(){
- slider.onmouseleave = function(){ pause = false; };
- slider.onmouseenter = function(){ pause = true; };
- return pause;
- }
- function slide(){
- if( options.pause && pauseSlide() ) return;
- let activeSlide = document.querySelector('.rbd-review-slider .rbd-review.rbd-curr');
- let prev, curr, next, soon;
- curr = activeSlide;
- prev = activeSlide.previousElementSibling;
- next = activeSlide.nextElementSibling;
- if( next != null ){
- soon = next.nextElementSibling == null ? slides[0] : next.nextElementSibling;
- } else {
- next = slides[0];
- soon = slides[1];
- }
- if( prev != null ) prev.classList.remove('rbd-prev', 'rbd-curr', 'rbd-next');
- if( curr != null ) curr.classList.remove('rbd-prev', 'rbd-curr', 'rbd-next'); curr.classList.add('rbd-prev');
- if( next != null ) next.classList.remove('rbd-prev', 'rbd-curr', 'rbd-next'); next.classList.add('rbd-curr');
- if( soon != null ) soon.classList.remove('rbd-prev', 'rbd-curr', 'rbd-next'); soon.classList.add('rbd-next');
- }
- let slideTimer = setInterval(function(){
- slide();
- }, options.speed);
- }, true);
That’s all! hopefully, you have successfully integrated this review slider code snippet into your project. If you have any questions or facing any issues, feel free to comment below.
Similar Code Snippets:

I code and create web elements for amazing people around the world. I like work with new people. New people new Experiences.
I truly enjoy what I’m doing, which makes me more passionate about web development and coding. I am always ready to do challenging tasks whether it is about creating a custom CMS from scratch or customizing an existing system.