-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSlide.js
More file actions
3 lines (3 loc) · 1.07 KB
/
Copy pathSlide.js
File metadata and controls
3 lines (3 loc) · 1.07 KB
1
2
3
(function(){function Slideshow(element){this.el=document.querySelector(element);this.init()}
Slideshow.prototype={init:function(){this.wrapper=this.el.querySelector(".slider-wrapper");this.slides=this.el.querySelectorAll(".slide");this.previous=this.el.querySelector(".slider-previous");this.next=this.el.querySelector(".slider-next");this.index=0;this.total=this.slides.length;this.timer=null;this.action();this.stopStart()},_slideTo:function(slide){var currentSlide=this.slides[slide];currentSlide.style.opacity=1;for(var i=0;i<this.slides.length;i++){var slide=this.slides[i];if(slide!==currentSlide){slide.style.opacity=0}}},action:function(){var self=this;self.timer=setInterval(function(){self.index++;if(self.index==self.slides.length){self.index=0}
self._slideTo(self.index)},7000)},stopStart:function(){var self=this;self.el.addEventListener("mouseover",function(){clearInterval(self.timer);self.timer=null},!1);self.el.addEventListener("mouseout",function(){self.action()},!1)}};document.addEventListener("DOMContentLoaded",function(){var slider=new Slideshow("#main-slider")})})()