Вероятно, это связано с тем, что когда обработчик щелчка впервые читается браузером, в теге body отсутствует класс ".client-deactivate". Кроме того, вы не хотите, чтобы переключал что-либо, когда вы щелкаете по телу, потому что тогда, если меню свернуто и вы щелкнете по телу, оно расширит меню. Я предполагаю, что вы хотите, чтобы обработчик щелчков тела закрывал меню, только если оно уже открыто.
Попробуйте изменить обработчик второго клика на:
$("body").click(function() {
if($("body").hasClass("client-deactivate") {
$(".client-select-open").toggleClass("client-select-close");
$(".client-select-dd").toggle();
$("body").removeClass("client-deactivate");
}
});
Вы можете также рассмотреть возможность замены этих функций переключения на removeClass, просто чтобы быть уверенным, что нажатие на тело не раскроет меню ... Как если бы другая функция свернула меню, но не удалила "client- деактивируйте "класс к телу", затем, щелкнув по телу, вы все равно получите имя класса и запустите приведенный выше код, переключая меню в открытое положение.