Advertisement
adekherry

jquery.jowlslider.js

Sep 11th, 2018
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. /** Jeg OwlSlider **/
  2. (function ($) {
  3. "use strict";
  4.  
  5. $.fn.jowlslider = function (options) {
  6. var setting = {
  7. items: 5,
  8. responsive:{
  9. 0:{
  10. items: 4,
  11. nav: false
  12. },
  13. 768:{
  14. items: 6,
  15. nav: false
  16. },
  17. 1024:{
  18. items: 5,
  19. nav: true
  20. }
  21. },
  22. margin: 10,
  23. nav: true,
  24. autoplay : true,
  25. slideSpeed : 500,
  26. delay: 5000,
  27. rtl: false,
  28. thumbnail: '.jeg_slider_thumbnail',
  29. theme: 'jeg_owlslider',
  30. thumbnail_theme: 'jeg_owlslider_thumbnail',
  31. };
  32.  
  33. if (options) {
  34. options = $.extend(setting, options);
  35. } else {
  36. options = $.extend(setting);
  37. }
  38.  
  39. return $(this).each(function () {
  40.  
  41. var slider = this;
  42. var flag = false;
  43. var thumbnail = $(slider).parent().find(options.thumbnail);
  44.  
  45. options.autoplay = $(slider).data('autoplay');
  46. options.delay = $(slider).data('delay');
  47.  
  48. $(slider).owlCarousel({
  49. items: 1,
  50. autoplay: options.autoplay,
  51. autoplaySpeed: options.slideSpeed,
  52. autoplayTimeout: options.delay,
  53. nav: options.nav,
  54. navText: false,
  55. loop: true,
  56. lazyLoad:true,
  57. callbacks: true,
  58. rtl: options.rtl,
  59. });
  60.  
  61. thumbnail.on('initialized.owl.carousel', function(e){
  62. jeg_set_current_thumbnail(e);
  63. thumbnail.addClass('disabled_nav');
  64.  
  65. }).owlCarousel({
  66. nav: false,
  67. navText: false,
  68. dots: false,
  69. navRewind: false,
  70. items : options.items,
  71. margin : options.margin,
  72. rtl: options.rtl,
  73. lazyLoad:true,
  74. responsive: options.responsive
  75. });
  76.  
  77. $(slider).on('changed.owl.carousel', function(e) {
  78. var target = e.relatedTarget.relative(e.property.value, true);
  79. if (!flag) {
  80. flag = true;
  81. thumbnail.trigger('to.owl.carousel', [target, options.slideSpeed, true]);
  82. flag = false;
  83. }
  84.  
  85. jeg_set_current_thumbnail(e);
  86. });
  87.  
  88. thumbnail.on('changed.owl.carousel', function (e) {
  89. if (!flag) {
  90. flag = true;
  91. $(slider).trigger('to.owl.carousel', e.item.index, options.slideSpeed, true);
  92. flag = false;
  93. }
  94.  
  95. }).on('click', '.owl-item', function (e) {
  96. e.preventDefault();
  97. $(slider).trigger('to.owl.carousel', $(this).index(), options.slideSpeed, true);
  98. });
  99.  
  100. function jeg_set_current_thumbnail(e) {
  101. var current = e.relatedTarget.relative(e.item.index);
  102. var items = thumbnail.find('.owl-stage').children();
  103.  
  104. items.removeClass('current');
  105. items.eq(e.relatedTarget.normalize(current)).toggleClass('current');
  106. }
  107. });
  108. }
  109. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement