多条if条件

时间:2016-05-23 02:45:34

标签: jquery

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 个答案:

答案 0 :(得分:0)

您可能需要澄清您要简化的内容;我猜你想要执行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