我希望仅在页面为+ 450
时才将var threshold
添加到body.home
。所以像这样:
var headHeight = jQuery('#masthead-space').height() + 23;
var threshold = jQuery('.PopularTabsWidget').offset().top - headHeight (if body.home) + 450;
jQuery(window).scroll(function () {
if (jQuery(window).scrollTop() >= threshold)
jQuery('.PopularTabsWidget').addClass('fixed');
else
jQuery('.PopularTabsWidget').removeClass('fixed');
});
答案 0 :(得分:1)
您可以尝试使用条件/三元运算符:
var headHeight = jQuery('#masthead-space').height() + 23;
var threshold = jQuery('.PopularTabsWidget').offset().top - headHeight + (body.home ? 450 : 0);
答案 1 :(得分:1)
您可以使用三元操作(?:)
var threshold = jQuery('.PopularTabsWidget').offset().top - headHeight + (jQuery('body').hasClass('home') ? 450 : 0);
如果我理解正确body.home
表示 body元素有一个CSS类' home' 。
为避免性能影响,请使用jQuery(document.body)
答案 2 :(得分:0)
试试这个
var headHeight = jQuery('#masthead-space').height() + 23;
var threshold = jQuery('.PopularTabsWidget').offset().top - headHeight + body.home ? 450 : 0 ;
jQuery(window).scroll(function () {
if (jQuery(window).scrollTop() >= threshold)
jQuery('.PopularTabsWidget').addClass('fixed');
else
jQuery('.PopularTabsWidget').removeClass('fixed');
});
答案 3 :(得分:0)
var threshold = jQuery('.PopularTabsWidget').offset().top - headHeight +(body.home?450:0);