|
@@ -0,0 +1,59 @@
|
|
|
+(function ($) {
|
|
|
+ 'use strict';
|
|
|
+
|
|
|
+ $.fn.gallery = function(option) {
|
|
|
+ // console.log(this);
|
|
|
+
|
|
|
+ var defaults = {
|
|
|
+ current: 0
|
|
|
+ };
|
|
|
+
|
|
|
+ return this.each(function(){
|
|
|
+ var $gallery = $(this);
|
|
|
+ var $galleryitems = $gallery.children();
|
|
|
+
|
|
|
+ var options = $.extend(defaults, option); // переопределяем настройки по дефолту
|
|
|
+
|
|
|
+ $gallery.addClass('gallary');
|
|
|
+ $galleryitems.addClass('gallary-item');
|
|
|
+
|
|
|
+ $galleryitems.eq(options.current).addClass('current');
|
|
|
+
|
|
|
+ $galleryitems.eq(1).addClass('current'); // берет элемент в наборе и показывает его
|
|
|
+
|
|
|
+ $gallery.attr('tabindex', 0);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ var maxH = $($galleryitems[0]).height();
|
|
|
+ for (var i=0; i < $galleryitems.length; i++) {
|
|
|
+ if($($galleryitems[i]).height() < maxH ) maxH = $($galleryitems[i]).height();
|
|
|
+ }
|
|
|
+
|
|
|
+ $gallery.height(maxH + 'px');
|
|
|
+
|
|
|
+ $gallery.on('keyup', function(event) {
|
|
|
+ var $currentItem = $('.current', $gallery);
|
|
|
+
|
|
|
+ if (event.which === 39) {
|
|
|
+ console.log('go r');
|
|
|
+
|
|
|
+ var next = $currentItem.index() + 1;
|
|
|
+ if (next === $galleryitems.length) next = 0;
|
|
|
+
|
|
|
+
|
|
|
+ }else if(event.which === 37) {
|
|
|
+ console.log('go l');
|
|
|
+
|
|
|
+ var next = $currentItem.index() - 1;
|
|
|
+ if (next === $galleryitems.length) next = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ $galleryitems.removeClass('current').eq(next).addClass('current'); //удали нашли следующего и добавили
|
|
|
+
|
|
|
+ })
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+})(jQuery);
|