PageSourceSearch

https://www.chow.md/wp-content/plugins/nkp-gallery-slider/js/nkp-gallery-slider.js?ver=1.1

js chow.md collected 2026-10-09 02:52:09 UTC 4,031 bytes, 112 lines download raw bytes

1jQuery(document).ready(function($) {
2
3	// starts lightbox
4  jQuery('.nkp-lightbox').click(function(e){
5		e.preventDefault();
6		createNkpModalSlider();
7	});
8  // defines slider as a variable
9  galSlider = jQuery('.nkp-gallery-slider .nkp-slider');
10
11  // defines first slide position as 0
12  jQuery(galSlider).on('init', function(event, slick, currentSlide) {
13    currentSlide = 0;
14    numOfSlides = slick.slideCount;
15    //console.log(currentSlide);
16  });
17
18  // initializes slick on the orginal slider
19  jQuery(galSlider).slick({
20    autoplay: true,
21    infinite: true,
22    slidesToShow: 1,
23    slidesToScroll: 1,
24    adaptiveHeight: true,
25		prevArrow: '<button type="button" class="slick-prev"></button>',
26		nextArrow: '<button type="button" class="slick-next"></button>'
27  });
28
29  // gets each current slide
30  clickedSlide = 0;
31  jQuery(galSlider).on('afterChange', function(event, slick, currentSlide) {
32    //console.log(currentSlide);
33    clickedSlide = currentSlide;
34  });
35
36  // creates modal and slider
37  function createNkpModalSlider() {
38    // creates lightbox div
39    jQuery('body').append('<div class="nkp-gallery-slider-lightbox"><div class="nkp-gallery-slider-container"></div></div>')
40    // clones slider into lightbox div
41    jQuery('.nkp-gallery-slider').clone().appendTo('.nkp-gallery-slider-lightbox .nkp-gallery-slider-container');
42
43    var lightboxDiv = jQuery('.nkp-gallery-slider-lightbox');
44    jQuery(lightboxDiv).fadeIn();
45
46    // removes and cleans up styles and attributes from the cloned slider
47    clonedSlider = jQuery('.nkp-gallery-slider-lightbox .nkp-slider');
48    jQuery(clonedSlider).removeClass('slick-initialized slick-slider');
49    jQuery(clonedSlider).find('button').remove();
50    jQuery(lightboxDiv).find('.slider-title').remove();
51    jQuery(lightboxDiv).find('a.btn').remove();
52    jQuery(clonedSlider).find('.gallery-item').unwrap().unwrap().unwrap().unwrap().removeClass('slick-slide slick-cloned slick-current slick-active').removeAttr('data-slick-index').removeAttr('aria-hidden').removeAttr('tabindex').removeAttr('style');
53    jQuery(clonedSlider).find('.gallery-item a').each(function(){
54      jQuery(this).removeAttr('tabindex');
55      jQuery(this).attr('href', jQuery(this).attr('data-link'));
56      jQuery(this).removeAttr('data-link');
57      jQuery(this).find('img').each(function(){
58        jQuery(this).attr('src', jQuery(this).attr('data-img'));
59      });
60    });
61
62    // initializes slick on cloned slider
63    if( numOfSlides == 1 ) {
64      jQuery(clonedSlider).slick({
65        autoplay: true,
66        infinite: true,
67        slidesToShow: 1,
68        slidesToScroll: 1,
69        adaptiveHeight: true,
70        initialSlide: parseInt(clickedSlide),
71        prevArrow: '<button type="button" class="slick-prev"></button>',
72  			nextArrow: '<button type="button" class="slick-next"></button>'
73      });
74    } else{
75      jQuery(clonedSlider).slick({
76        autoplay: true,
77        infinite: true,
78        slidesToShow: 1,
79        slidesToScroll: 1,
80        adaptiveHeight: true,
81        initialSlide: parseInt(clickedSlide + 1),
82        prevArrow: '<button type="button" class="slick-prev"></button>',
83  			nextArrow: '<button type="button" class="slick-next"></button>'
84      });
85    }
86    // closes lightbox when clicked outside slider
87    jQuery(document).mouseup(function(e) {
88      var container = jQuery('.nkp-gallery-slider-lightbox .nkp-gallery-slider-container .nkp-gallery-slider');
89      // if the target of the click isn't the container nor a descendant of the container
90      if ( (! container.is(e.target) && container.has(e.target).length === 0 ) )  {
91        closeLightbox();
92      }
93    });
94
95    // closes lightbox with keyboard "escape" key
96    jQuery(document).keyup(function(e) {
97      if (e.keyCode == 27) {
98        closeLightbox();
99      }
100    });
101
102    // function to close lightbox
103    function closeLightbox() {
104      lightboxDiv.fadeOut();
105      setTimeout(function(){
106        lightboxDiv.remove();
107      }, 400)
108    }
109
110  } // createNkpModalSlider()
111
112});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.