slick_rails 1.3.6.1 → 1.3.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/slick.js +184 -64
- data/app/assets/stylesheets/slick.css.scss +50 -34
- data/lib/slick_rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7085903d53a93887c94b44ae3874dc01afdb2a70
|
4
|
+
data.tar.gz: f9d9ba3910021afbb5c26a5ff79a17323b533c2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43ad5e7a7231b9ffd826809f373933e5163a73e6f0a121aebf6500c3fd4337800c075a9307a1439a5e25a19ce1aa8c9f662463a7d342898be312b4e295fdfe19
|
7
|
+
data.tar.gz: 176a3c3c454d766b4447ba8bd3f7fa65f80ed34c0566a2499f659fc67281dd446ae110f96c1f470b8525d1489405a32978afa33b356666400fefc7733aa2b16e
|
@@ -40,7 +40,11 @@
|
|
40
40
|
|
41
41
|
_.defaults = {
|
42
42
|
accessibility: true,
|
43
|
+
appendArrows: $(element),
|
43
44
|
arrows: true,
|
45
|
+
asNavFor: null,
|
46
|
+
prevArrow: '<button type="button" class="slick-prev">Previous</button>',
|
47
|
+
nextArrow: '<button type="button" class="slick-next">Next</button>',
|
44
48
|
autoplay: false,
|
45
49
|
autoplaySpeed: 3000,
|
46
50
|
centerMode: false,
|
@@ -53,6 +57,7 @@
|
|
53
57
|
draggable: true,
|
54
58
|
easing: 'linear',
|
55
59
|
fade: false,
|
60
|
+
focusOnSelect: false,
|
56
61
|
infinite: true,
|
57
62
|
lazyLoad: 'ondemand',
|
58
63
|
onBeforeChange: null,
|
@@ -60,6 +65,7 @@
|
|
60
65
|
onInit: null,
|
61
66
|
onReInit: null,
|
62
67
|
pauseOnHover: true,
|
68
|
+
pauseOnDotsHover: false,
|
63
69
|
responsive: null,
|
64
70
|
slide: 'div',
|
65
71
|
slidesToShow: 1,
|
@@ -74,6 +80,7 @@
|
|
74
80
|
|
75
81
|
_.initials = {
|
76
82
|
animating: false,
|
83
|
+
dragging: false,
|
77
84
|
autoPlayTimer: null,
|
78
85
|
currentSlide: 0,
|
79
86
|
currentLeft: null,
|
@@ -136,6 +143,7 @@
|
|
136
143
|
_.autoPlay = $.proxy(_.autoPlay, _);
|
137
144
|
_.autoPlayClear = $.proxy(_.autoPlayClear, _);
|
138
145
|
_.changeSlide = $.proxy(_.changeSlide, _);
|
146
|
+
_.selectHandler = $.proxy(_.selectHandler, _);
|
139
147
|
_.setPosition = $.proxy(_.setPosition, _);
|
140
148
|
_.swipeHandler = $.proxy(_.swipeHandler, _);
|
141
149
|
_.dragHandler = $.proxy(_.dragHandler, _);
|
@@ -144,6 +152,11 @@
|
|
144
152
|
|
145
153
|
_.instanceUid = instanceUid++;
|
146
154
|
|
155
|
+
// A simple way to check for HTML strings
|
156
|
+
// Strict HTML recognition (must start with <)
|
157
|
+
// Extracted from jQuery v1.11 source
|
158
|
+
_.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
|
159
|
+
|
147
160
|
_.init();
|
148
161
|
|
149
162
|
}
|
@@ -187,6 +200,10 @@
|
|
187
200
|
|
188
201
|
_.$slideTrack.append(_.$slides);
|
189
202
|
|
203
|
+
_.$slides.each(function(index, element) {
|
204
|
+
$(element).attr("index",index);
|
205
|
+
});
|
206
|
+
|
190
207
|
_.$slidesCache = _.$slides;
|
191
208
|
|
192
209
|
_.reinit();
|
@@ -311,6 +328,7 @@
|
|
311
328
|
Slick.prototype.autoPlayIterator = function() {
|
312
329
|
|
313
330
|
var _ = this;
|
331
|
+
var asNavFor = _.options.asNavFor != null ? $(_.options.asNavFor).getSlick() : null;
|
314
332
|
|
315
333
|
if (_.options.infinite === false) {
|
316
334
|
|
@@ -321,8 +339,8 @@
|
|
321
339
|
_.direction = 0;
|
322
340
|
}
|
323
341
|
|
324
|
-
_.slideHandler(_.currentSlide + _.options
|
325
|
-
|
342
|
+
_.slideHandler(_.currentSlide + _.options.slidesToScroll);
|
343
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide + asNavFor.options.slidesToScroll);
|
326
344
|
|
327
345
|
} else {
|
328
346
|
|
@@ -332,14 +350,15 @@
|
|
332
350
|
|
333
351
|
}
|
334
352
|
|
335
|
-
_.slideHandler(_.currentSlide - _.options
|
336
|
-
|
353
|
+
_.slideHandler(_.currentSlide - _.options.slidesToScroll);
|
354
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide - asNavFor.options.slidesToScroll);
|
337
355
|
|
338
356
|
}
|
339
357
|
|
340
358
|
} else {
|
341
359
|
|
342
360
|
_.slideHandler(_.currentSlide + _.options.slidesToScroll);
|
361
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide + asNavFor.options.slidesToScroll);
|
343
362
|
|
344
363
|
}
|
345
364
|
|
@@ -351,12 +370,16 @@
|
|
351
370
|
|
352
371
|
if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
|
353
372
|
|
354
|
-
_.$prevArrow = $(
|
355
|
-
|
356
|
-
|
357
|
-
_
|
358
|
-
|
359
|
-
|
373
|
+
_.$prevArrow = $(_.options.prevArrow);
|
374
|
+
_.$nextArrow = $(_.options.nextArrow);
|
375
|
+
|
376
|
+
if (_.htmlExpr.test(_.options.prevArrow)) {
|
377
|
+
_.$prevArrow.appendTo(_.options.appendArrows);
|
378
|
+
}
|
379
|
+
|
380
|
+
if (_.htmlExpr.test(_.options.nextArrow)) {
|
381
|
+
_.$nextArrow.appendTo(_.options.appendArrows);
|
382
|
+
}
|
360
383
|
|
361
384
|
if (_.options.infinite !== true) {
|
362
385
|
_.$prevArrow.addClass('slick-disabled');
|
@@ -399,6 +422,11 @@
|
|
399
422
|
':not(.slick-cloned)').addClass(
|
400
423
|
'slick-slide');
|
401
424
|
_.slideCount = _.$slides.length;
|
425
|
+
|
426
|
+
_.$slides.each(function(index, element) {
|
427
|
+
$(element).attr("index",index);
|
428
|
+
});
|
429
|
+
|
402
430
|
_.$slidesCache = _.$slides;
|
403
431
|
|
404
432
|
_.$slider.addClass('slick-slider');
|
@@ -412,7 +440,6 @@
|
|
412
440
|
_.$slideTrack.css('opacity', 0);
|
413
441
|
|
414
442
|
if (_.options.centerMode === true) {
|
415
|
-
_.options.infinite = true;
|
416
443
|
_.options.slidesToScroll = 1;
|
417
444
|
if (_.options.slidesToShow % 2 === 0) {
|
418
445
|
_.options.slidesToShow = 3;
|
@@ -427,11 +454,13 @@
|
|
427
454
|
|
428
455
|
_.buildDots();
|
429
456
|
|
457
|
+
_.updateDots();
|
458
|
+
|
430
459
|
if (_.options.accessibility === true) {
|
431
460
|
_.$list.prop('tabIndex', 0);
|
432
461
|
}
|
433
462
|
|
434
|
-
_.setSlideClasses(0);
|
463
|
+
_.setSlideClasses(typeof this.currentSlide === 'number' ? this.currentSlide : 0);
|
435
464
|
|
436
465
|
if (_.options.draggable === true) {
|
437
466
|
_.$list.addClass('draggable');
|
@@ -464,14 +493,14 @@
|
|
464
493
|
if (targetBreakpoint !== _.activeBreakpoint) {
|
465
494
|
_.activeBreakpoint =
|
466
495
|
targetBreakpoint;
|
467
|
-
_.options = $.extend({}, _.
|
496
|
+
_.options = $.extend({}, _.options,
|
468
497
|
_.breakpointSettings[
|
469
498
|
targetBreakpoint]);
|
470
499
|
_.refresh();
|
471
500
|
}
|
472
501
|
} else {
|
473
502
|
_.activeBreakpoint = targetBreakpoint;
|
474
|
-
_.options = $.extend({}, _.
|
503
|
+
_.options = $.extend({}, _.options,
|
475
504
|
_.breakpointSettings[
|
476
505
|
targetBreakpoint]);
|
477
506
|
_.refresh();
|
@@ -479,7 +508,7 @@
|
|
479
508
|
} else {
|
480
509
|
if (_.activeBreakpoint !== null) {
|
481
510
|
_.activeBreakpoint = null;
|
482
|
-
_.options = $.extend({}, _.
|
511
|
+
_.options = $.extend({}, _.options,
|
483
512
|
_.originalSettings);
|
484
513
|
_.refresh();
|
485
514
|
}
|
@@ -491,23 +520,35 @@
|
|
491
520
|
|
492
521
|
Slick.prototype.changeSlide = function(event) {
|
493
522
|
|
494
|
-
var _ = this
|
523
|
+
var _ = this,
|
524
|
+
$target = $(event.target);
|
525
|
+
var asNavFor = _.options.asNavFor != null ? $(_.options.asNavFor).getSlick() : null;
|
526
|
+
|
527
|
+
// If target is a link, prevent default action.
|
528
|
+
$target.is('a') && event.preventDefault();
|
495
529
|
|
496
530
|
switch (event.data.message) {
|
497
531
|
|
498
532
|
case 'previous':
|
499
|
-
|
533
|
+
if (_.slideCount > _.options.slidesToShow) {
|
534
|
+
_.slideHandler(_.currentSlide - _.options
|
500
535
|
.slidesToScroll);
|
536
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide - asNavFor.options.slidesToScroll);
|
537
|
+
}
|
501
538
|
break;
|
502
539
|
|
503
540
|
case 'next':
|
504
|
-
|
541
|
+
if (_.slideCount > _.options.slidesToShow) {
|
542
|
+
_.slideHandler(_.currentSlide + _.options
|
505
543
|
.slidesToScroll);
|
544
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide + asNavFor.options.slidesToScroll);
|
545
|
+
}
|
506
546
|
break;
|
507
547
|
|
508
548
|
case 'index':
|
509
|
-
|
510
|
-
|
549
|
+
var index = $(event.target).parent().index() * _.options.slidesToScroll;
|
550
|
+
_.slideHandler(index);
|
551
|
+
if(asNavFor != null) asNavFor.slideHandler(index); break;
|
511
552
|
|
512
553
|
default:
|
513
554
|
return false;
|
@@ -531,7 +572,9 @@
|
|
531
572
|
_.$prevArrow.remove();
|
532
573
|
_.$nextArrow.remove();
|
533
574
|
}
|
534
|
-
_.$slides.
|
575
|
+
if (_.$slides.parent().hasClass('slick-track')) {
|
576
|
+
_.$slides.unwrap().unwrap();
|
577
|
+
}
|
535
578
|
_.$slides.removeClass(
|
536
579
|
'slick-slide slick-active slick-visible').removeAttr('style');
|
537
580
|
_.$slider.removeClass('slick-slider');
|
@@ -668,8 +711,10 @@
|
|
668
711
|
}
|
669
712
|
}
|
670
713
|
|
671
|
-
if (_.options.centerMode === true) {
|
714
|
+
if (_.options.centerMode === true && _.options.infinite === true) {
|
672
715
|
_.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
|
716
|
+
} else if (_.options.centerMode === true) {
|
717
|
+
_.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
|
673
718
|
}
|
674
719
|
|
675
720
|
if (_.options.vertical === false) {
|
@@ -728,6 +773,12 @@
|
|
728
773
|
}, _.changeSlide);
|
729
774
|
}
|
730
775
|
|
776
|
+
if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.options.autoplay === true) {
|
777
|
+
$('li', _.$dots)
|
778
|
+
.on('mouseenter.slick', _.autoPlayClear)
|
779
|
+
.on('mouseleave.slick', _.autoPlay);
|
780
|
+
}
|
781
|
+
|
731
782
|
};
|
732
783
|
|
733
784
|
Slick.prototype.initializeEvents = function() {
|
@@ -757,7 +808,11 @@
|
|
757
808
|
}
|
758
809
|
|
759
810
|
if(_.options.accessibility === true) {
|
760
|
-
_.$list.on('keydown.slick', _.keyHandler);
|
811
|
+
_.$list.on('keydown.slick', _.keyHandler);
|
812
|
+
}
|
813
|
+
|
814
|
+
if(_.options.focusOnSelect === true) {
|
815
|
+
$(_.options.slide, _.$slideTrack).on('click.slick', _.selectHandler);
|
761
816
|
}
|
762
817
|
|
763
818
|
$(window).on('orientationchange.slick.slick-' + _.instanceUid, function() {
|
@@ -777,6 +832,7 @@
|
|
777
832
|
});
|
778
833
|
|
779
834
|
$(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
|
835
|
+
$(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition);
|
780
836
|
|
781
837
|
};
|
782
838
|
|
@@ -830,7 +886,21 @@
|
|
830
886
|
var _ = this,
|
831
887
|
loadRange, cloneRange, rangeStart, rangeEnd;
|
832
888
|
|
833
|
-
|
889
|
+
function loadImages(imagesScope) {
|
890
|
+
$('img[data-lazy]', imagesScope).each(function() {
|
891
|
+
var image = $(this),
|
892
|
+
imageSource = $(this).attr('data-lazy');
|
893
|
+
|
894
|
+
image
|
895
|
+
.css({ opacity: 0 })
|
896
|
+
.attr('src', imageSource)
|
897
|
+
.removeAttr('data-lazy')
|
898
|
+
.removeClass('slick-loading')
|
899
|
+
.load(function() { image.animate({ opacity: 1 }, 200); });
|
900
|
+
});
|
901
|
+
}
|
902
|
+
|
903
|
+
if (_.options.centerMode === true || _.options.fade === true ) {
|
834
904
|
rangeStart = _.options.slidesToShow + _.currentSlide - 1;
|
835
905
|
rangeEnd = rangeStart + _.options.slidesToShow + 2;
|
836
906
|
} else {
|
@@ -839,27 +909,14 @@
|
|
839
909
|
}
|
840
910
|
|
841
911
|
loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
|
842
|
-
|
843
|
-
$('img[data-lazy]', loadRange).not('[src]').each(function() {
|
844
|
-
$(this).css({opacity: 0}).attr('src', $(this).attr('data-lazy')).removeClass('slick-loading').load(function(){
|
845
|
-
$(this).animate({ opacity: 1 }, 200);
|
846
|
-
});
|
847
|
-
});
|
912
|
+
loadImages(loadRange);
|
848
913
|
|
849
914
|
if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
|
850
915
|
cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
|
851
|
-
|
852
|
-
$(this).css({opacity: 0}).attr('src', $(this).attr('data-lazy')).removeClass('slick-loading').load(function(){
|
853
|
-
$(this).animate({ opacity: 1 }, 200);
|
854
|
-
});
|
855
|
-
});
|
916
|
+
loadImages(cloneRange)
|
856
917
|
} else if (_.currentSlide === 0) {
|
857
918
|
cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
|
858
|
-
|
859
|
-
$(this).css({opacity: 0}).attr('src', $(this).attr('data-lazy')).removeClass('slick-loading').load(function(){
|
860
|
-
$(this).animate({ opacity: 1 }, 200);
|
861
|
-
});
|
862
|
-
});
|
919
|
+
loadImages(cloneRange);
|
863
920
|
}
|
864
921
|
|
865
922
|
};
|
@@ -909,11 +966,12 @@
|
|
909
966
|
var _ = this,
|
910
967
|
imgCount, targetImage;
|
911
968
|
|
912
|
-
imgCount = $('img[data-lazy]').
|
969
|
+
imgCount = $('img[data-lazy]').length;
|
913
970
|
|
914
971
|
if (imgCount > 0) {
|
915
|
-
targetImage = $(
|
972
|
+
targetImage = $('img[data-lazy]', _.$slider).first();
|
916
973
|
targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() {
|
974
|
+
targetImage.removeAttr('data-lazy');
|
917
975
|
_.progressiveLazyLoad();
|
918
976
|
});
|
919
977
|
}
|
@@ -922,12 +980,14 @@
|
|
922
980
|
|
923
981
|
Slick.prototype.refresh = function() {
|
924
982
|
|
925
|
-
var _ = this
|
983
|
+
var _ = this,
|
984
|
+
currentSlide = _.currentSlide;
|
926
985
|
|
927
986
|
_.destroy();
|
928
987
|
|
929
988
|
$.extend(_, _.initials);
|
930
989
|
|
990
|
+
_.currentSlide = currentSlide;
|
931
991
|
_.init();
|
932
992
|
|
933
993
|
};
|
@@ -961,6 +1021,10 @@
|
|
961
1021
|
|
962
1022
|
_.initDotEvents();
|
963
1023
|
|
1024
|
+
if(_.options.focusOnSelect === true) {
|
1025
|
+
$(_.options.slide, _.$slideTrack).on('click.slick', _.selectHandler);
|
1026
|
+
}
|
1027
|
+
|
964
1028
|
_.setSlideClasses(0);
|
965
1029
|
|
966
1030
|
_.setPosition();
|
@@ -1164,17 +1228,21 @@
|
|
1164
1228
|
|
1165
1229
|
centerOffset = Math.floor(_.options.slidesToShow / 2);
|
1166
1230
|
|
1167
|
-
if
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1231
|
+
if(_.options.infinite === true) {
|
1232
|
+
|
1233
|
+
if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
|
1234
|
+
_.$slides.slice(index - centerOffset, index + centerOffset + 1).addClass('slick-active');
|
1235
|
+
} else {
|
1236
|
+
indexOffset = _.options.slidesToShow + index;
|
1237
|
+
allSlides.slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2).addClass('slick-active');
|
1238
|
+
}
|
1239
|
+
|
1240
|
+
if (index === 0) {
|
1241
|
+
allSlides.eq(allSlides.length - 1 - _.options.slidesToShow).addClass('slick-center');
|
1242
|
+
} else if (index === _.slideCount - 1) {
|
1243
|
+
allSlides.eq(_.options.slidesToShow).addClass('slick-center');
|
1244
|
+
}
|
1173
1245
|
|
1174
|
-
if (index === 0) {
|
1175
|
-
allSlides.eq(allSlides.length - 1 - _.options.slidesToShow).addClass('slick-center');
|
1176
|
-
} else if (index === _.slideCount - 1) {
|
1177
|
-
allSlides.eq(_.options.slidesToShow).addClass('slick-center');
|
1178
1246
|
}
|
1179
1247
|
|
1180
1248
|
_.$slides.eq(index).addClass('slick-center');
|
@@ -1183,6 +1251,8 @@
|
|
1183
1251
|
|
1184
1252
|
if (index > 0 && index < (_.slideCount - _.options.slidesToShow)) {
|
1185
1253
|
_.$slides.slice(index, index + _.options.slidesToShow).addClass('slick-active');
|
1254
|
+
} else if ( allSlides.length <= _.options.slidesToShow ) {
|
1255
|
+
allSlides.addClass('slick-active');
|
1186
1256
|
} else {
|
1187
1257
|
indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
|
1188
1258
|
allSlides.slice(indexOffset, indexOffset + _.options.slidesToShow).addClass('slick-active');
|
@@ -1238,6 +1308,26 @@
|
|
1238
1308
|
|
1239
1309
|
};
|
1240
1310
|
|
1311
|
+
Slick.prototype.selectHandler = function(event) {
|
1312
|
+
|
1313
|
+
var _ = this;
|
1314
|
+
var asNavFor = _.options.asNavFor != null ? $(_.options.asNavFor).getSlick() : null;
|
1315
|
+
var index = parseInt($(event.target).parent().attr("index"));
|
1316
|
+
if(!index) index = 0;
|
1317
|
+
|
1318
|
+
if(_.slideCount <= _.options.slidesToShow){
|
1319
|
+
return;
|
1320
|
+
}
|
1321
|
+
_.slideHandler(index);
|
1322
|
+
|
1323
|
+
if(asNavFor != null){
|
1324
|
+
if(asNavFor.slideCount <= asNavFor.options.slidesToShow){
|
1325
|
+
return;
|
1326
|
+
}
|
1327
|
+
asNavFor.slideHandler(index);
|
1328
|
+
}
|
1329
|
+
};
|
1330
|
+
|
1241
1331
|
Slick.prototype.slideHandler = function(index) {
|
1242
1332
|
|
1243
1333
|
var targetSlide, animSlide, slideLeft, unevenOffset, targetLeft = null,
|
@@ -1255,7 +1345,15 @@
|
|
1255
1345
|
|
1256
1346
|
_.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
|
1257
1347
|
|
1258
|
-
if (_.options.infinite === false && (index < 0 || index > (_.slideCount - _.options.slidesToShow + unevenOffset))) {
|
1348
|
+
if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > (_.slideCount - _.options.slidesToShow + unevenOffset))) {
|
1349
|
+
if(_.options.fade === false) {
|
1350
|
+
targetSlide = _.currentSlide;
|
1351
|
+
_.animateSlide(slideLeft, function() {
|
1352
|
+
_.postSlide(targetSlide);
|
1353
|
+
});
|
1354
|
+
}
|
1355
|
+
return false;
|
1356
|
+
} else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
|
1259
1357
|
if(_.options.fade === false) {
|
1260
1358
|
targetSlide = _.currentSlide;
|
1261
1359
|
_.animateSlide(slideLeft, function() {
|
@@ -1358,8 +1456,9 @@
|
|
1358
1456
|
Slick.prototype.swipeEnd = function(event) {
|
1359
1457
|
|
1360
1458
|
var _ = this;
|
1459
|
+
var asNavFor = _.options.asNavFor != null ? $(_.options.asNavFor).getSlick() : null;
|
1361
1460
|
|
1362
|
-
_
|
1461
|
+
_.dragging = false;
|
1363
1462
|
|
1364
1463
|
if (_.touchObject.curX === undefined) {
|
1365
1464
|
return false;
|
@@ -1376,17 +1475,20 @@
|
|
1376
1475
|
switch (_.swipeDirection()) {
|
1377
1476
|
case 'left':
|
1378
1477
|
_.slideHandler(_.currentSlide + _.options.slidesToScroll);
|
1478
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide + asNavFor.options.slidesToScroll);
|
1379
1479
|
_.touchObject = {};
|
1380
1480
|
break;
|
1381
1481
|
|
1382
1482
|
case 'right':
|
1383
1483
|
_.slideHandler(_.currentSlide - _.options.slidesToScroll);
|
1484
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide - asNavFor.options.slidesToScroll);
|
1384
1485
|
_.touchObject = {};
|
1385
1486
|
break;
|
1386
1487
|
}
|
1387
1488
|
} else {
|
1388
1489
|
if(_.touchObject.startX !== _.touchObject.curX) {
|
1389
1490
|
_.slideHandler(_.currentSlide);
|
1491
|
+
if(asNavFor != null) asNavFor.slideHandler(asNavFor.currentSlide);
|
1390
1492
|
_.touchObject = {};
|
1391
1493
|
}
|
1392
1494
|
}
|
@@ -1397,10 +1499,10 @@
|
|
1397
1499
|
|
1398
1500
|
var _ = this;
|
1399
1501
|
|
1400
|
-
if ('ontouchend' in document && _.options.swipe === false) {
|
1401
|
-
|
1402
|
-
} else if (_.options.draggable === false && !event.originalEvent.touches) {
|
1403
|
-
|
1502
|
+
if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
|
1503
|
+
return;
|
1504
|
+
} else if ((_.options.draggable === false) || (_.options.draggable === false && !event.originalEvent.touches)) {
|
1505
|
+
return;
|
1404
1506
|
}
|
1405
1507
|
|
1406
1508
|
_.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
|
@@ -1436,7 +1538,7 @@
|
|
1436
1538
|
|
1437
1539
|
curLeft = _.getLeft(_.currentSlide);
|
1438
1540
|
|
1439
|
-
if (!_
|
1541
|
+
if (!_.dragging || touches && touches.length !== 1) {
|
1440
1542
|
return false;
|
1441
1543
|
}
|
1442
1544
|
|
@@ -1495,7 +1597,7 @@
|
|
1495
1597
|
_.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
|
1496
1598
|
_.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
|
1497
1599
|
|
1498
|
-
_
|
1600
|
+
_.dragging = true;
|
1499
1601
|
|
1500
1602
|
};
|
1501
1603
|
|
@@ -1560,8 +1662,7 @@
|
|
1560
1662
|
if (_.$dots !== null) {
|
1561
1663
|
|
1562
1664
|
_.$dots.find('li').removeClass('slick-active');
|
1563
|
-
_.$dots.find('li').eq(_.currentSlide / _.options.slidesToScroll).addClass(
|
1564
|
-
'slick-active');
|
1665
|
+
_.$dots.find('li').eq(Math.floor(_.currentSlide / _.options.slidesToScroll)).addClass('slick-active');
|
1565
1666
|
|
1566
1667
|
}
|
1567
1668
|
|
@@ -1603,6 +1704,8 @@
|
|
1603
1704
|
var _ = this;
|
1604
1705
|
return _.each(function(index, element) {
|
1605
1706
|
|
1707
|
+
var asNavFor = element.slick.options.asNavFor != null ? $(element.slick.options.asNavFor) : null;
|
1708
|
+
if(asNavFor != null) asNavFor.slickGoTo(slide);
|
1606
1709
|
element.slick.slideHandler(slide);
|
1607
1710
|
|
1608
1711
|
});
|
@@ -1663,6 +1766,11 @@
|
|
1663
1766
|
});
|
1664
1767
|
};
|
1665
1768
|
|
1769
|
+
$.fn.slickGetOption = function(option) {
|
1770
|
+
var _ = this;
|
1771
|
+
return _.get(0).slick.options[option];
|
1772
|
+
};
|
1773
|
+
|
1666
1774
|
$.fn.slickSetOption = function(option, value, refresh) {
|
1667
1775
|
var _ = this;
|
1668
1776
|
return _.each(function(index, element) {
|
@@ -1690,9 +1798,21 @@
|
|
1690
1798
|
var _ = this;
|
1691
1799
|
return _.each(function(index, element) {
|
1692
1800
|
|
1801
|
+
if (element.slick) {
|
1693
1802
|
element.slick.destroy();
|
1803
|
+
}
|
1694
1804
|
|
1695
1805
|
});
|
1696
1806
|
};
|
1697
1807
|
|
1698
|
-
|
1808
|
+
$.fn.getSlick = function() {
|
1809
|
+
var s = null;
|
1810
|
+
var _ = this;
|
1811
|
+
_.each(function(index, element) {
|
1812
|
+
s = element.slick
|
1813
|
+
});
|
1814
|
+
|
1815
|
+
return s;
|
1816
|
+
};
|
1817
|
+
|
1818
|
+
}));
|
@@ -3,30 +3,36 @@
|
|
3
3
|
// Default Variables
|
4
4
|
|
5
5
|
$slick-font-path: "./fonts/" !default;
|
6
|
+
$slick-font-family: "slick" !default;
|
6
7
|
$slick-loader-path: "./" !default;
|
7
8
|
$slick-arrow-color: white !default;
|
8
9
|
$slick-dot-color: black !default;
|
10
|
+
$slick-dot-color-active: $slick-dot-color !default;
|
9
11
|
$slick-prev-character: '\2190' !default;
|
10
12
|
$slick-next-character: '\2192' !default;
|
11
13
|
$slick-dot-character: '\2022' !default;
|
14
|
+
$slick-dot-size: 6px !default;
|
15
|
+
$opacity-default: .75;
|
16
|
+
$opacity-on-hover: 1;
|
17
|
+
$opacity-not-active: .25;
|
12
18
|
|
13
19
|
|
14
20
|
@function slick-image-url($url) {
|
15
21
|
@if function-exists(image-url) {
|
16
|
-
@return image-url($url);
|
22
|
+
@return image-url($url, false, false);
|
23
|
+
}
|
24
|
+
@else {
|
25
|
+
@return url($slick-loader-path + $url);
|
17
26
|
}
|
18
|
-
@else {
|
19
|
-
@return url($slick-loader-path + $url);
|
20
|
-
}
|
21
27
|
}
|
22
28
|
|
23
29
|
@function slick-font-url($url) {
|
24
30
|
@if function-exists(font-url) {
|
25
|
-
@return
|
31
|
+
@return font-url($url);
|
32
|
+
}
|
33
|
+
@else {
|
34
|
+
@return url($slick-font-path + $url);
|
26
35
|
}
|
27
|
-
@else {
|
28
|
-
@return url($slick-font-path + $url);
|
29
|
-
}
|
30
36
|
}
|
31
37
|
|
32
38
|
/* Slider */
|
@@ -44,7 +50,7 @@ $slick-dot-character: '\2022' !default;
|
|
44
50
|
user-select: none;
|
45
51
|
-ms-touch-action: none;
|
46
52
|
touch-action: none;
|
47
|
-
-webkit-tap-highlight-color:
|
53
|
+
-webkit-tap-highlight-color: transparent;
|
48
54
|
}
|
49
55
|
.slick-list {
|
50
56
|
position: relative;
|
@@ -130,16 +136,17 @@ $slick-dot-character: '\2022' !default;
|
|
130
136
|
}
|
131
137
|
|
132
138
|
/* Icons */
|
133
|
-
|
134
|
-
@font-face {
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
139
|
+
@if $slick-font-family == "slick" {
|
140
|
+
@font-face {
|
141
|
+
font-family:"slick";
|
142
|
+
src: slick-font-url("slick.eot");
|
143
|
+
src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"),
|
144
|
+
slick-font-url("slick.woff") format("woff"),
|
145
|
+
slick-font-url("slick.ttf") format("truetype"),
|
146
|
+
slick-font-url("slick.svg#slick") format("svg");
|
147
|
+
font-weight: normal;
|
148
|
+
font-style: normal;
|
149
|
+
}
|
143
150
|
}
|
144
151
|
|
145
152
|
/* Arrows */
|
@@ -160,19 +167,24 @@ $slick-dot-character: '\2022' !default;
|
|
160
167
|
padding: 0;
|
161
168
|
border: none;
|
162
169
|
outline: none;
|
163
|
-
&:focus {
|
164
|
-
|
170
|
+
&:hover, &:focus {
|
171
|
+
outline: none;
|
172
|
+
background: transparent;
|
173
|
+
color: transparent;
|
174
|
+
&:before {
|
175
|
+
opacity: $opacity-on-hover;
|
176
|
+
}
|
165
177
|
}
|
166
178
|
&.slick-disabled:before {
|
167
|
-
opacity:
|
179
|
+
opacity: $opacity-not-active;
|
168
180
|
}
|
169
181
|
}
|
170
182
|
.slick-prev:before, .slick-next:before {
|
171
|
-
font-family:
|
183
|
+
font-family: $slick-font-family;
|
172
184
|
font-size: 20px;
|
173
185
|
line-height: 1;
|
174
186
|
color: $slick-arrow-color;
|
175
|
-
opacity:
|
187
|
+
opacity: $opacity-default;
|
176
188
|
-webkit-font-smoothing: antialiased;
|
177
189
|
-moz-osx-font-smoothing: grayscale;
|
178
190
|
}
|
@@ -200,7 +212,7 @@ $slick-dot-character: '\2022' !default;
|
|
200
212
|
list-style: none;
|
201
213
|
display: block;
|
202
214
|
text-align: center;
|
203
|
-
padding:
|
215
|
+
padding: 0;
|
204
216
|
width: 100%;
|
205
217
|
|
206
218
|
li {
|
@@ -208,8 +220,8 @@ $slick-dot-character: '\2022' !default;
|
|
208
220
|
display: inline-block;
|
209
221
|
height: 20px;
|
210
222
|
width: 20px;
|
211
|
-
margin:
|
212
|
-
padding:
|
223
|
+
margin: 0 5px;
|
224
|
+
padding: 0;
|
213
225
|
cursor: pointer;
|
214
226
|
|
215
227
|
button {
|
@@ -218,14 +230,17 @@ $slick-dot-character: '\2022' !default;
|
|
218
230
|
display: block;
|
219
231
|
height: 20px;
|
220
232
|
width: 20px;
|
221
|
-
outline:
|
233
|
+
outline: none;
|
222
234
|
line-height: 0;
|
223
235
|
font-size: 0;
|
224
236
|
color: transparent;
|
225
237
|
padding: 5px;
|
226
238
|
cursor: pointer;
|
227
|
-
&:focus {
|
228
|
-
outline:
|
239
|
+
&:hover, &:focus {
|
240
|
+
outline: none;
|
241
|
+
&:before {
|
242
|
+
opacity: $opacity-on-hover;
|
243
|
+
}
|
229
244
|
}
|
230
245
|
|
231
246
|
&:before {
|
@@ -235,12 +250,12 @@ $slick-dot-character: '\2022' !default;
|
|
235
250
|
content: $slick-dot-character;
|
236
251
|
width: 20px;
|
237
252
|
height: 20px;
|
238
|
-
font-family:
|
239
|
-
font-size:
|
253
|
+
font-family: $slick-font-family;
|
254
|
+
font-size: $slick-dot-size;
|
240
255
|
line-height: 20px;
|
241
256
|
text-align: center;
|
242
257
|
color: $slick-dot-color;
|
243
|
-
opacity:
|
258
|
+
opacity: $opacity-not-active;
|
244
259
|
-webkit-font-smoothing: antialiased;
|
245
260
|
-moz-osx-font-smoothing: grayscale;
|
246
261
|
}
|
@@ -248,7 +263,8 @@ $slick-dot-character: '\2022' !default;
|
|
248
263
|
}
|
249
264
|
|
250
265
|
&.slick-active button:before {
|
251
|
-
|
266
|
+
color: $slick-dot-color-active;
|
267
|
+
opacity: $opacity-default;
|
252
268
|
}
|
253
269
|
}
|
254
270
|
}
|
data/lib/slick_rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slick_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.6.
|
4
|
+
version: 1.3.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guy Israeli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|