jQuery addClass example

Change class name on click in jQuery

HTML

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Слайдер</title>
<link rel="stylesheet" href="css/slider.css">
</head>
<body>
<div class="slider-container">
<div class="slider">
<div class="slider__item"><a href="javascript:void(0)"><img src="//konyakov.ru/pubs/recipes/js-css-slider/img/slide1.jpg" alt=""></a></div>
<div class="slider__item"><a href="javascript:void(0)"><img src="//konyakov.ru/pubs/recipes/js-css-slider/img/slide2.jpg" alt=""></a></div>
<div class="slider__item"><a href="javascript:void(0)"><img src="//konyakov.ru/pubs/recipes/js-css-slider/img/slide3.jpg" alt=""></a></div>
<div class="slider__item"><a href="javascript:void(0)"><img src="//konyakov.ru/pubs/recipes/js-css-slider/img/slide4.jpg" alt=""></a></div>
</div>
<div class="slider__switch slider__switch--prev" data-ikslider-dir="prev">
<span><svg xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 20 20"><path d="M13.89 17.418c.27.272.27.71 0 .98s-.7.27-.968 0l-7.83-7.91c-.268-.27-.268-.706 0-.978l7.83-7.908c.268-.27.7-.27.97 0s.267.71 0 .98L6.75 10l7.14 7.418z"/></svg></span>
</div>
<div class="slider__switch slider__switch--next" data-ikslider-dir="next">
<span><svg xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 20 20"><path d="M13.25 10L6.11 2.58c-.27-.27-.27-.707 0-.98.267-.27.7-.27.968 0l7.83 7.91c.268.27.268.708 0 .978l-7.83 7.908c-.268.27-.7.27-.97 0s-.267-.707 0-.98L13.25 10z"/></svg></span>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/slider.js"></script>
</body>
</html>

CSS

body {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  font-size: 14px;
  font-family: Helvetica, Arial, sans-serif;
}
/* ==========================================================================
		Slider core styles
===========================================================================*/
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.slider-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  background-color: #444;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.slider {
  position: relative;
  width: 9999px;
}
.slider:before,
.slider:after {
  display: table;
  content: ' ';
}
.slider:after {
  clear: both;
}
.slider__item {
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  height: 100%;
}
.slider__item img {
  display: block;
  max-width: 100%;
  height: auto;
}
.slider__switch span {
  color: #fff;
  display: block;
  width: 32px;
  height: 32px;
}
/* Arrows */
.slider__switch {
  position: absolute;
  top: 50%;
  margin-top: -20px;
  padding: 10px 5px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
       -o-user-select: none;
          user-select: none;
  border-radius: 1px;
  background: #000;
  opacity: .3;
  transition: opacity .15s ease;
  fill: #fff;
}
.slider__switch--prev {
  left: 10px;
}
.slider__switch--next {
  right: 10px;
}

.slider__switch:hover {
  opacity: .85;
}
.slider__switch[disabled] {
  visibility: hidden;
  opacity: 0;
}
.slider__caption {
  position: absolute;
  bottom: 30px;
  left: 30px;
  display: block;
  max-width: 500px;
  padding: 10px;
  color: #fff;
  background: rgba(0, 0, 0, .8);
  box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.9);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#99000000',...

JavaScript

(function($) {

  'use strict';

  /**
   * Helpers methods
   */

  function supportCSS3(prop) {
    var prefix = ['-webkit-', '-moz-', ''];
    var root = document.documentElement;

    function camelCase(str) {
      return str.replace(/\-([a-z])/gi, function(match, $1) {
        return $1.toUpperCase();
      });
    }
    for (var i = prefix.length - 1; i >= 0; i--) {
      var css3prop = camelCase(prefix[i] + prop);
      if (css3prop in root.style) {
        return css3prop;
      }
    }
    return false;
  }

  function transitionEnd() {
    var transitions = {
      'transition': 'transitionend',
      'WebkitTransition': 'webkitTransitionEnd',
      'MozTransition': 'mozTransitionEnd'
    };
    var root = document.documentElement;
    for (var name in transitions) {
      if (root.style[name] !== undefined) {
        return transitions[name];
      }
    }
    return false;
  }

  function support3d() {
    if (!window.getComputedStyle) {
      return false;
    }
    var el = document.createElement('div'),
      has3d,
      transform = supportCSS3('transform');

    document.body.insertBefore(el, null);

    el.style[transform] = 'translate3d(1px,1px,1px)';
    has3d = getComputedStyle(el)[transform];

    document.body.removeChild(el);

    return (has3d !== undefined && has3d.length > 0 && has3d !== "none");
  }

  var Touch = {
    hasTouch: !!(("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch),
    event: function() {
      return {
        start: (this.hasTouch) ? 'touchstart' : 'mousedown',
        move: (this.hasTouch) ? 'touchmove' : 'mousemove',
        end: (this.hasTouch) ? 'touchend' : 'mouseup',
        leave: (this.hasTouch) ? 'touchleave' : 'mouseout'
      };
    }
  };
  
  function throttle(func, wait, options) {
    var context, args, result;
    var timeout = null;
    var previous = 0;
    if (!options) options = {};
    var later = function() {
      previous = options.leading === false ? 0...