如何将条件语句放入此JavaScript中?

如何将条件语句放入此JavaScript中?,javascript,jquery,conditional-statements,Javascript,Jquery,Conditional Statements,我想在下面的代码中使用条件语句。基本上,我想这样做: if(主页)插入655,if(非主页)插入391 主页的body元素有一个类home,因此我可以使用.home\sidebar来定位主页侧边栏 jQuery(window).scroll(function () { var threshold = 655; if (jQuery(window).scrollTop() >= 655) jQuery('#sidebar').addClass('fixed'); el

我想在下面的代码中使用条件语句。基本上,我想这样做:

if(主页)插入655,if(非主页)插入391

主页的body元素有一个类
home
,因此我可以使用
.home\sidebar
来定位主页侧边栏

jQuery(window).scroll(function () {
    var threshold = 655;
 if (jQuery(window).scrollTop() >= 655)
     jQuery('#sidebar').addClass('fixed');
  else
        jQuery('#sidebar').removeClass('fixed');
});
以下是我不正确的尝试(请不要笑):

有人能帮我吗

编辑:以下是完整代码:

/*-----------------------------------------------------------------------------------

    Custom JS - All custom front-end jQuery

-----------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------*/
/*  Let's dance
/*-----------------------------------------------------------------------------------*/

jQuery(document).ready(function($) {

/*-----------------------------------------------------------------------------------*/
/*  Fixed Sidebar
/*-----------------------------------------------------------------------------------*/

    var threshold = jQuery(document.body).hasClass("home") ? 655 : 391;
    if (jQuery(window).scrollTop() >= threshold) {
        jQuery('#sidebar').addClass('fixed');
    } else {
        jQuery('#sidebar').removeClass('fixed');
    }

/*-----------------------------------------------------------------------------------*/
/*  Pesky YouTube Videos
/*-----------------------------------------------------------------------------------*/

    window.onload = function() {
        var frames = document.getElementsByTagName("iframe");
        for (var i = 0; i < frames.length; i++) {
            frames[i].src += "&wmode=opaque";
        }
    }

/*-----------------------------------------------------------------------------------*/
/*  Portfolio Filtering
/*-----------------------------------------------------------------------------------*/

    if(jQuery().isotope) {

        $container = jQuery('#masonry');

        $container.imagesLoaded( function() {

            $container.isotope({
                itemSelector : '.item',
                masonry: {
                    columnWidth: $(document).width() > 1035 ? 240 : 320
                },
                getSortData: {

                    order: function($elem) {
                        return parseInt($elem.attr('data-order'));
                    }

                },
                sortBy: 'order'
            }, function() {

                // Isotope Chrome Fix   
                setTimeout(function () {        
                    jQuery('#masonry').isotope('reLayout'); 
                }, 1000);

            });


        }); 

        // filter items when filter link is clicked
        $container = jQuery('#masonry');

        jQuery('#filter li').click(function(){

            jQuery('#filter li').removeClass('active's);
            jQuery(this).addClass('active');

            var selector = jQuery(this).find('a').attr('data-filter');

            $container.isotope({ filter: selector });

            return false;

        });


    }

/*-----------------------------------------------------------------------------------*/
/*  We've finished dancing!
/*-----------------------------------------------------------------------------------*/

});
/*-----------------------------------------------------------------------------------
自定义JS-所有自定义前端jQuery
-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
/*让我们跳舞吧
/*-----------------------------------------------------------------------------------*/
jQuery(文档).ready(函数($){
/*-----------------------------------------------------------------------------------*/
/*固定边栏
/*-----------------------------------------------------------------------------------*/
VarThreshold=jQuery(document.body).hasClass(“home”)?655:391;
if(jQuery(window).scrollTop()>=阈值){
jQuery(“#侧栏”).addClass('fixed');
}否则{
jQuery(“#侧栏”).removeClass('fixed');
}
/*-----------------------------------------------------------------------------------*/
/*讨厌的YouTube视频
/*-----------------------------------------------------------------------------------*/
window.onload=函数(){
var frames=document.getElementsByTagName(“iframe”);
对于(变量i=0;i1035?240:320
},
getSortData:{
顺序:函数($elem){
返回parseInt($elem.attr('data-order'));
}
},
脏话:“命令”
},函数(){
//同位素铬固定
setTimeout(函数(){
jQuery(“#砌体”).同位素('relayat');
}, 1000);
});
}); 
//单击筛选链接时筛选项目
$container=jQuery(“#砌体”);
jQuery('#filter li')。单击(函数(){
jQuery('#filter li').removeClass('active's);
jQuery(this.addClass('active');
var selector=jQuery(this.find('a').attr('data-filter');
$container.同位素({filter:selector});
返回false;
});
}
/*-----------------------------------------------------------------------------------*/
/*我们已经跳完了!
/*-----------------------------------------------------------------------------------*/
});

使用三元条件运算符:

if (jQuery(window).scrollTop() >= ((is_home()) ? 655 : 391))

使用三元条件运算符:

if (jQuery(window).scrollTop() >= ((is_home()) ? 655 : 391))

你误用了三元运算符;如果

var threshold = (is_home()) ? 655 : 391;
if($(window).scrollTop() >= threshold)
    jQuery('#sidebar').addClass('fixed');
else
    jQuery('#sidebar').removeClass('fixed');

所有其他答案都已经充分解释了如何使用“.hasClass”,因此我将保留您的“is_home()”。

您误用了三元运算符;如果

var threshold = (is_home()) ? 655 : 391;
if($(window).scrollTop() >= threshold)
    jQuery('#sidebar').addClass('fixed');
else
    jQuery('#sidebar').removeClass('fixed');

所有其他答案都已经充分解释了如何使用“.hasClass”,因此我将保留您的“is_home()”。

您可以使用
.hasClass()
查看是否是主页:

if (jQuery(document.body).hasClass("home")) {
    // home page here
} else {
    // not home page here
}
当然,如果您只想根据是否为主页设置阈值:

var threshold = jQuery(document.body).hasClass("home") ? 655 : 391;
if (jQuery(window).scrollTop() >= threshold) {
    jQuery('#sidebar').addClass('fixed');
} else {
    jQuery('#sidebar').removeClass('fixed');
}

您可以使用
.hasClass()
查看它是否是主页:

if (jQuery(document.body).hasClass("home")) {
    // home page here
} else {
    // not home page here
}
当然,如果您只想根据是否为主页设置阈值:

var threshold = jQuery(document.body).hasClass("home") ? 655 : 391;
if (jQuery(window).scrollTop() >= threshold) {
    jQuery('#sidebar').addClass('fixed');
} else {
    jQuery('#sidebar').removeClass('fixed');
}

您可以使用内联条件。更换这条线

var threshold = if (is_home()) { 655 } else { 391 };
用这个

var threshold = (is_home() ? 655 : 391);

对于其他情况,同样的gose

您可以使用内联条件。更换这条线

var threshold = if (is_home()) { 655 } else { 391 };
用这个

var threshold = (is_home() ? 655 : 391);

其他情况也一样

什么是
is_home()
?是PHP/Wordpress功能吗?你是在问如何检测主页吗?还是询问其他问题?@Will是的,这是一个WordPress函数,用于检测主页。@jfriend00我询问如何仅更改主页的数字。我希望主页是
655
,其他所有页面是
391
。好的,这就是我下面的答案。什么是
is_home()
?是PHP/Wordpress功能吗?你是在问如何检测主页吗?还是询问其他问题?@Will是的,这是一个WordPress函数,用于检测主页。@jfriend00我询问如何仅更改主页的数字。我希望主页的
655
,其他所有页面的
391
。好吧,这就是我下面的答案。我以为OP是在问如何实现一个条件来检查主页。是的,我在这方面做得有点过火了。如果我不是其他人的复制品,我现在没有什么可以改变的了:-)我以为OP是在问如何实现一个有条件的检查主页。是的,我在这方面做得有点过火了。如果我不是其他人的复制品,我现在能改变的就不多了:-)我不知道为什么,但这不起作用。我将第二块代码放在
jQuery(document).ready(函数($){
})之间。这就是问题所在吗?@Desi-您的代码可能无法工作的潜在原因有很多。我建议您查看浏览器错误控制台或调试控制台a