Откройте складной родительский класс при загрузке страницы, когда дочерний класс активен.Jquery

Программирование на jquery
Ответить
Anonymous
 Откройте складной родительский класс при загрузке страницы, когда дочерний класс активен.

Сообщение Anonymous »

У меня есть html-страница с разделами-аккордеоном и кнопками btn-acc-tab. Разделы-вкладки открываются, когда пользователь нажимает кнопку, и каждый раздел содержит ссылки-вкладки, которые могут быть активными. Разделы открываются и закрываются с помощью сценариев JQuery, показанных ниже. Я пытаюсь свернуть вкладку раздела с открытой в данный момент активной ссылкой при загрузке страницы, добавив показ класса, не дожидаясь, пока пользователь нажмет. Большинство ответов, которые я смог найти здесь, касаются активации класса show при клике или каком-либо другом событии. Простая замена события на onload мне не помогла. Я знаю, что упускаю что-то простое, но я достаточно долго бился головой о стену, чтобы понять, что я не увижу это сам. Мы будем очень признательны за вашу помощь.
HTML-код:




Foo Bar




Foo Foo





Скрипты jQuery:
(function ($) {
$.fn.replaceClass = function (pFromClass, pToClass) {
return this.removeClass(pFromClass).addClass(pToClass);
};
}(jQuery));
function clickAndPress(event) {
if(event.type === 'click'){
return true;
}
else if(event.type === 'keypress'){
var code = event.charCode || event.keyCode;
if((code === 32)|| (code === 13)){
return true;
}
}
else{
return false;
}
};

$(".tab-link").on("click keypress", function(){
if(clickAndPress(event) === true) {
var id = $(this).data('target')
var par_id = $(this).data('id');
$(".tab-content").replaceClass("d-block", "d-none");
$(".sr-only").remove();
$(document.getElementById(id)).replaceClass("d-none", "d-block");
$(".tab-link").removeClass("active");
if ($(".btn-acc-tab").hasClass("active")) {
$(".btn-acc-tab").removeClass("active");
};
$(this).addClass("active");
$(document.getElementById(par_id)).addClass("active");
$('(current)').insertAfter(".active");
}
});
$(document).ready(function(){
var active = $(".tab-link.active").data('target');
$(".acc-tab").addClass("show");
});

Также попробовал jQuery:
$(this).closest(".btn-acc-tab").addClass("active");


Подробнее здесь: https://stackoverflow.com/questions/782 ... -is-active
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»