Guest User

Untitled

a guest
May 22nd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. function Slider(config) {
  2. var slider = this;
  3. this.time = config.time || 3000;
  4. this.auto = config.auto || false;
  5. // this.slides = document.querySelectorAll(config.slides) || document.querySelectorAll(config.container + ' .slides img');
  6. this.slides = document.querySelectorAll('#slider1 .slides img');
  7. this.nextBtn = document.querySelector(config.nextBtn) || document.querySelector(config.container + ' .controls .next');
  8. this.prevBtn = document.querySelector(config.prevBtn) || document.querySelector(config.container + ' .controls .back');
  9. this.current = config.current || 0;
  10.  
  11. if (slider.auto) {
  12. slider.run();
  13. }
  14.  
  15. this.next = function() {
  16. slider.slides[slider.current].className = '';
  17. slider.current++;
  18.  
  19. if (slider.current >= slider.slides.length) {
  20. slider.current = 0;
  21. }
  22.  
  23. slider.slides[slider.current].className = 'visible';
  24. };
  25.  
  26. this.prev = function() {
  27. slider.slides[slider.current].className = '';
  28. slider.current--;
  29.  
  30. if (slider.current < 0) {
  31. slider.current = slider.slides.length - 1;
  32. }
  33.  
  34. slider.slides[slider.current].className = 'visible';
  35. };
  36.  
  37. this.run = function() {
  38. setInterval(function() {
  39. slider.next();
  40. }, slider.time);
  41. };
  42.  
  43. slider.nextBtn.onclick = slider.next;
  44. slider.prevBtn.onclick = slider.prev;
  45.  
  46. }
  47.  
  48. new Slider({
  49. container: "#slider1",
  50. auto: true,
  51. time: 5000
  52. });
  53.  
  54. function Slider(config) {
  55.  
  56. ...
  57.  
  58. if (slider.auto) {
  59. slider.run();
  60. }
  61. }
Add Comment
Please, Sign In to add comment