createNavTabSlider

by Alexey Zakharov

JavaScript

function createNavTabSlider() {
	var $sliderNav = $(".ui-tab-nav-slider");
	$sliderNav.each(function(index, el) {
		var $slider = $(el);
		if($slider.hasClass('initialized')) {
			return;
		}
		var actWidth = $slider.find('.ui-tab-nav-slider-item.active').parent("li").width();
		var actPosition = $slider.find('.ui-tab-nav-slider-item.active').position();
		if(actPosition == undefined) {
			return;
		}
		var $sliderNavTab = $('<span/>', {
			class: 'ui-tab-nav-slider-active',
		});
		$sliderNavTab.css({"left":+ actPosition.left,"width": actWidth});
		$slider.addClass('initialized').append($sliderNavTab);
		$slider.find(".ui-tab-nav-slider-item").click(function() {
			if($(this).hasClass('disabled')) {
				return false;
			}
			var position = $(this).position();
			var width = $(this).parent().width();
			$slider.find('.ui-tab-nav-slider-active').css({"left":+ position.left,"width":width});
		});
	});
	
	$(window).resize(function(event) {
		clearTimeout(window.resizedNavTabSlider);
		window.resizedNavTabSlider = setTimeout(function(){
			var $sliderNav = $(".ui-tab-nav-slider");
			$sliderNav.each(function(index, el) {
				var $slider = $(el);
				var actWidth = $slider.find('.ui-tab-nav-slider-item.active').parent("li").width();
				var actPosition = $slider.find('.ui-tab-nav-slider-item.active').position();
				var $sliderNavTab = $slider.find('.ui-tab-nav-slider-active');
				if(actPosition) {
					$sliderNavTab.css({"left":+ actPosition.left,"width": actWidth});
				}
			});
		}, 250);
	});
	
	$(".ui-tab-nav-slider").on('resizeSliderNav', function() {
		var $slider = $(this);
		var actWidth = $slider.find('.ui-tab-nav-slider-item.active').parent("li").width();
		var actPosition = $slider.find('.ui-tab-nav-slider-item.active').position();
		var $sliderNavTab = $slider.find('.ui-tab-nav-slider-active') 
		$sliderNavTab.css({"left":+ actPosition.left,"width": actWidth});
	});
}