Skip to content

Commit

Permalink
шт progress
Browse files Browse the repository at this point in the history
  • Loading branch information
pafnuty committed Oct 29, 2015
1 parent a8bcd37 commit 1c9e87a
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 34 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

## HTML
```html

<div class="tts-tabs">
<ul class="tts-tabs-switchers">
<li class="tts-tabs-switcher active">таб 1</li>
Expand Down
63 changes: 30 additions & 33 deletions src/js/jquery.tabsToSelect.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@

};


function Plugin(obj, options) {
this.settings = $.extend({}, defaults, options);
this._defaults = defaults;
this.init();
}


$.extend(Plugin.prototype, {

init: function () {
Expand All @@ -50,15 +52,14 @@
// Пробегаем по переключателям табов и формируем селект
$.each($tabSwitchers, function (i, tabSwitcher) {
var $tabSwitcher = $(tabSwitcher), // Текущий переключатель
$data = $tabSwitcher.data(),
selected = ($tabSwitcher.hasClass('active')) ? 'selected' : '', // Определяем активный таб
option = '<option value="' + i + '" ' + selected + '>' + $tabSwitcher.text() + '</option>';
option = '<option value="' + i + '" ' + selected + '>' + $tabSwitcher.text() + '</option>';

$selectInner.push(option);
});

$select
// Добавляем в селект пункты
// Добавляем в селект пункты
.html($selectInner.join(''))
// Навешиваем обработчик на изменение этого селекта
.on('change.' + pluginName, function (e) {
Expand All @@ -74,7 +75,7 @@
});

$this
// Вставляем сформированный селект в начало блока с табами
// Вставляем сформированный селект в начало блока с табами
.prepend($select)
// Навешиваем обработчик на клик по неативным переключателям
.on('click.' + pluginName, '.tts-tabs-switcher:not(.active)', function () {
Expand All @@ -90,32 +91,31 @@
// Выполняем колбэк перед сменой активного таба
var beforeTabSwich = self.settings.beforeTabSwich.call($this, e);

if (!beforeTabSwich) {
return false;
};
if (beforeTabSwich) {
var $thisTab = $($tabSwitchers[e.tab]),
$tabContent = $thisTab.closest('.tts-tabs').find('.tts-tabs-item'),
$thisTabContent = $tabContent.eq($thisTab.index());

var $thisTab = $($tabSwitchers[e.tab]),
$tabContent = $thisTab.closest('.tts-tabs').find('.tts-tabs-item'),
$thisTabContent = $tabContent.eq($thisTab.index());
// Меняем активные пункт селекта
$select.val(e.tab).trigger({
type: 'change',
flag: true, // для предотвращения рекурсии при клике на переключатель таба
});

// Меняем активные пункт селекта
$select.val(e.tab).trigger({
type: 'change',
flag: true, // для предотвращения рекурсии при клике на переключатель таба
});
// Меняем активный таб
$thisTab
.addClass('active')
.siblings().removeClass('active');

// Меняем активный таб
$thisTab
.addClass('active')
.siblings().removeClass('active');
$tabContent.removeClass('active');
$thisTabContent.addClass('active');

$tabContent.removeClass('active');
$thisTabContent.addClass('active');
$thisTab.trigger({
type: 'tabClick.' + pluginName,
tab: $thisTabContent
});
}

$thisTab.trigger({
type: 'tabClick.' + pluginName,
tab: $thisTabContent
});

// Выполняем колбэк после смены активного таба
self.settings.afterTabSwich.call($this, e);
Expand All @@ -134,30 +134,27 @@

},

winResize: function () {
winResize: function (event) {
if (event && (event.type === 'resize' || event.type === 'orientationchange')) {
var windowWidth = $window.width(),
self = this;
var windowWidth = $window.width();

if (windowWidth === previousResizeWidth) {
return;
}

// Выполняем колбэк при ресайзе окна
self.settings.onResized.call();
this.settings.onResized();

previousResizeWidth = windowWidth;
}
},
}
});

if (typeof $[pluginName] === 'undefined') {
if ($[pluginName] == undefined) {

$[pluginName] = function (options) {
return new Plugin(this, options);
};

}


}(jQuery, window, document));
2 changes: 1 addition & 1 deletion src/js/jquery.tabsToSelect.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 1c9e87a

Please sign in to comment.