#jquery-ui #jquery-tabs
#jquery-ui #jquery-вкладки
Вопрос:
Я пытаюсь отключить верхнее меню на вкладках пользовательского интерфейса jQuery, чтобы вкладки работали только с кнопками next / prev.
Отключить опцию формы документ не работает должным образом.
Пожалуйста, посмотрите мой пример здесь: живая демонстрация
Код jQuery:
$(document).ready( function() {
$(function() {
var $tabs = $('#tabs').tabs();
$(".ui-tabs-panel").each(function(i){
var totalSize = $(".ui-tabs-panel").size() - 1;
if (i != totalSize) {
next = i 2;
$(this).append("<a href='#' class='next-tab mover' rel='" next "'>Next Page amp;#187;</a>");
}
if (i != 0) {
prev = i;
$(this).append("<a href='#' class='prev-tab mover' rel='" prev "'>amp;#171; Prev Page</a>");
}
});
$('.next-tab, .prev-tab').click(function() {
$tabs.tabs('select', $(this).attr("rel"));
return false;
});
});
});
Есть идеи, как я могу отключить верхнее меню, но сохранить структуру, стиль и т. Д.?
Ответ №1:
Как насчет того, чтобы просто включить выбор вкладки непосредственно перед ее выбором, а затем снова отключить вкладки?
Итак, при инициализации все вкладки отключены:
var $tabs = $('#tabs').tabs({
disabled: [0, 1, 2]
});
И при выборе вкладки включите ее перед ее выбором, а затем снова отключите все вкладки:
$tabs.tabs('enable', tabIndex)
.tabs('select', tabIndex)
.tabs("option","disabled", [0, 1, 2]);
Посмотрите на это в действии: http://jsfiddle.net/william/y6QeV/21 /.
РЕДАКТИРОВАТЬ: вы можете просто отключить только старую вкладку:
var newTabIndex = $(this).attr("rel");
var oldTabIndex = $tabs.tabs('option', 'selected');
$tabs.tabs('enable', newTabIndex)
.tabs('select', newTabIndex)
.tabs('disable', oldTabIndex);
Комментарии:
1. Это работает, но я не уверен, что понимаю концепцию — не могли бы вы объяснить подробнее, пожалуйста?
2. Вызов
.tabs('select', index)
не работает на отключенной вкладке, как вы указали в вопросе. Итак, вместо того, чтобы пытаться выбрать отключенную вкладку, просто включите ее, а затем выберите. После завершения выбора снова отключите вкладки.3.
disabled: [0, 1, 2]
— должен ли я выбирать каждую вкладку? Есть ли способ выбрать все?4. Вам не нужно отключать все вкладки; вы можете просто отключить одну старую вкладку. Я просто ленился и отключил все вкладки. Вот пример этого: jsfiddle.net/william/y6QeV/22 .