Несколько условных if

Новый в мире jquery, как бы я сгруппировал эти условные утверждения вместе? или любые условные операторы в этом случае.
Попробуйте запустить эту функцию все сразу, не делая 5 различных функций, которые по существу делают то же самое.

Мой код:

jQuery(document).ready(function($) {
    var menu = $('#site-nav');
    var origOffsetY = menu.offset().top;
    var locateHobby = $('#load-hobby');
    var hobbyLocateOrigOffsetY = locateHobby.offset().top;
    var locateForm = $('#load-form');
    var formLocateOrigOffsetY = locateForm.offset().top;
    function scroll() {
        if ($(document).scrollTop() >= origOffsetY) && $(document.scrollTop() >= hobbyLocateOrigOffsetY) && $(document).scrollTop() >= formLocateOrigOffsetY)) {

            $('#site-nav').addClass('navbar-fixed-top');
            $('.main-content').addClass('menu-padding');

            setTimeout(function() {
                 $('#hob-slide').addClass('animated slideInLeft');
            }, 200);

            setTimeout(function() {
                 $('.wpcf7-form').addClass('animated slideInUp');
            }, 200);

        } else {
            $('#site-nav').removeClass('navbar-fixed-top');
            $('.main-content').removeClass('menu-padding');
        }
    }
}); //End no conflict

1 ответ

  1. Возможно, Вам потребуется уточнить, что вы пытаетесь упростить; я предполагаю, что вы хотите выполнить оператор if без необходимости создавать кучу переменных. В этом случае можно упростить код до:

    $(document).ready(function() {
        function scroll() {
            if ($(document).scrollTop() >= $('#site-nav').offset().top &&
                $(document).scrollTop() >= $('#load-hobby').offset().top &&
                $(document).scrollTop() >= $('#load-form').offset().top) {
    
                $('#site-nav').addClass('navbar-fixed-top');
                $('.main-content').addClass('menu-padding');
    
                setTimeout(function() {
                 $('#hob-slide').addClass('animated slideInLeft');
                }, 200);
    
                setTimeout(function() {
                 $('.wpcf7-form').addClass('animated slideInUp');
                }, 200);
    
            } else {
                $('#site-nav').removeClass('navbar-fixed-top');
                $('.main-content').removeClass('menu-padding');
            }
        }
    }); //End no conflict