Skip to content

Instantly share code, notes, and snippets.

@konratnox
Created January 15, 2019 14:02
Show Gist options
  • Save konratnox/8e71297d33c256a10e98c1f5ac445cf3 to your computer and use it in GitHub Desktop.
Save konratnox/8e71297d33c256a10e98c1f5ac445cf3 to your computer and use it in GitHub Desktop.
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});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment