Я пытаюсь передать функцию в качестве аргумента другой функции.Функция как аргумент для другой функции JQuery
//Scroll To + Remove Class if exists
$(document).on("click", "a[href^=\\#]", function() {
$("html, body").animate({
scrollTop: $('section[data-attr-target="'+this.hash.slice(1)+'"]').offset().top }, 300);
return false;
}, fun());
function fun() {
if(("menu").hasClass("active")) {
$("menu").removeClass("active");
}
}
Что я ожидаю от моей функции:
- Нажмите событие
- Выделите раздел
- весело() запускается и проверяет ли "меню" $ () имеет класс «active», если он его удаляет.
весело() среди аргументов функции нарушает поведение (без него функция работает для прокрутки к элементу), но мне нужно удовольствие() проверить класс элемента $ («меню»).
Пожалуйста, объясните, что я делаю неправильно.
JQuery в 'на()' не принимает два обратных вызовов, вы, вероятно, хотел назвать эту функцию ** перед тем ** 'вернуться ложным; }, 'part, сразу после анимационной части, это то, что вы действительно хотели сделать -> ** https: //jsfiddle.net/qxkmygzb/** – adeneo
Если я положу функцию fun() перед« return false », не проверяет класс, он не выполняется, как я могу понять –
FYI: вам не нужно ничего проверять, чтобы удалить класс, просто сделайте так, как в скрипке, которую я разместил выше – adeneo