Вы должны добавить/удалить класс "щ-состояние-инвалидов" к каждому элементу заголовка (т.е. "<h3> "), которые вы хотите отключить/включить. Затем используйте:
$("#accordion").on("accordionbeforeactivate", function(){
return ! arguments[1].newHeader.hasClass("ui-state-disabled");
})
Чтобы добавить/удалить класс dyanamically, использование:
$("selector").addClass("ui-state-disabled");
$("selector").removeClass("ui-state-disabled");
Вы можете добавить meaningul атрибут «ID» для каждого элемента заголовка для упрощения «селектор» часть. Например, «шаг-1», «шаг-2», «шаг-n» для каждого шага пользователь должен пересекать рабочий процесс.
Вы можете попробовать следующее, если вы уверены, о положении на вкладке быть ОТКЛЮЧЕНИЕ:
// Disable the first tab
$("#accordion > h3:first-child").addClass("ui-state-disabled");
// Make sure the fourth tab is enabled
$($("#accordion > h3")[3]).removeClass("ui-state-disabled");
Также отметим, что с помощью «щ-состояние-инвалидов» на самом деле имеет смысла, потому что он будет оказывать заголовок серого (или как бы то ни было, ваша тема делает вещи с ограниченными возможностями).
Другое примечание: если вкладка, которую вы динамически отключите, в настоящее время активна, она не будет делать ничего особенного (то есть она не будет разрушаться или активировать другую вкладку). Вы можете добавить дополнительную логику, чтобы активировать вкладку по умолчанию или сделать что-нибудь еще.
, жаль, что пользователь не может отключить, что заранее ... –
Пользователь может отключить абсолютно такую вещь, используя что-то вроде Greasemonkey изменить JavaScript для сайта. – artlung
, конечно, и с консолью js можно поиграть, сменить dom, выполнить js-код и т. Д.. Должен ли я заботиться об этом, когда мне нужно хорошее представление аккордеона? –