Estoy tratando de aplicar la función slideToggle sobre un menú basado en el tamaño de la pantalla, pero este código está aplicando la función varias veces con solo un clic, probé todas las soluciones aquí pero nada funciona.
Sé que el problema es el evento de clic dentro de un cambio de tamaño de ventana, pero la aplicación debería ser así, así que necesito una solución alternativa para tener un código que funcione.
$(window).on("resize", function () {
if (screen.width < 768) {
$(".part-heading").click(function (e) {
$(this).next(".sections").slideToggle("slow");
});
}
});
Está registrando múltiples oyentes de eventos, uno cada vez que cambia el tamaño de la pantalla. Y cuando haga clic en todos ellos se ejecutará. Puede cambiar su secuencia de comandos como se muestra a continuación, así que verifique el tamaño en cada clic en lugar de mirar el cambio de tamaño:
$(".part-heading").click(function (e) {
if (screen.width < 768) {
$(this).next(".sections").slideToggle("slow");
}
});