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