如何将条件语句放入此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