我有2个函数,当单击一个元素时会触发。但是,我想使用应该通过click事件在另一个函数中执行的第一个函数。我仍然是新手。
我已经尝试调用该函数,并在要执行该函数的其他函数中声明函数名称。因为第一个功能只能通过其元素上的点击事件来触发,所以它不起作用吗?我也将click事件嵌套在一个函数上,但效果不佳。
$(document).ready(function()
function toggleMenuClick(){
$('.menu-link').click(function (normal){
normal.preventDefault();
$('.menu-link').toggleClass('close');
$('.overlay-menu').toggleClass('active');
$('.menu-link').toggleClass('fixed');
$('nav ul').toggleClass('show');
$('nav ul li').toggleClass('fade-in');
$('body').toggleClass('min-height');
if ($(window).scrollTop() <= 99){
$('.menu-link').toggleClass('white');
}
});
}
toggleMenuClick();
$('.scroll-link').click(function(navigate){
navigate.preventDefault();
$("html, body").animate({
scrollTop: $(this.hash).offset().top
}, 700);
toggleMenuClick();
});
});
我也希望在单击toggleMenuClick
时切换.scroll-link
中的所有类。
答案 0 :(得分:2)
您需要在点击处理程序之外将toggleMenuClick
设为一个单独的函数,以便您可以独立调用它。
它看起来像这样:
var toggleMenuClick = function() {
// Do classes stuff...
}
$('.menu-link').click(function(e) {
e.preventDefault();
toggleMenuClick();
});
$('.scroll-link').click(function(e){
// Do stuff...
// Now you can call your function
toggleMenuClick();
});