(function($) { "use strict"; /** * * RoyalSlider bullets module * @version 1.0.1: * * 1.0.1 * - Minor optimizations * */ $.extend($.rsProto, { _initBullets: function() { var self = this; if(self.st.controlNavigation === 'bullets') { var itemHTML = '
'; self.ev.one('rsAfterPropsSetup', function() { self._controlNavEnabled = true; self.slider.addClass('rsWithBullets'); var out = '
'; for(var i = 0; i < self.numSlides; i++) { out += itemHTML; } self._controlNav = out = $(out + '
'); self._controlNavItems = out.appendTo(self.slider).children(); self._controlNav.on('click.rs','.rsNavItem',function(e) { if(!self._thumbsDrag ) { self.goTo( $(this).index() ); } }); }); self.ev.on('rsOnAppendSlide', function(e, parsedSlide, index) { if(index >= self.numSlides) { self._controlNav.append(itemHTML); } else { self._controlNavItems.eq(index).before(itemHTML); } self._controlNavItems = self._controlNav.children(); }); self.ev.on('rsOnRemoveSlide', function(e, index) { var itemToRemove = self._controlNavItems.eq(index); if(itemToRemove && itemToRemove.length) { itemToRemove.remove(); self._controlNavItems = self._controlNav.children(); } }); self.ev.on('rsOnUpdateNav', function() { var id = self.currSlideId, currItem, prevItem; if(self._prevNavItem) { self._prevNavItem.removeClass('rsNavSelected'); } currItem = self._controlNavItems.eq(id); currItem.addClass('rsNavSelected'); self._prevNavItem = currItem; }); } } }); $.rsModules.bullets = $.rsProto._initBullets; })(jQuery);