Jquery plugins jQuery视口选择器插件缺火

Jquery plugins jQuery视口选择器插件缺火,jquery-plugins,viewport,Jquery Plugins,Viewport,我知道这个插件绝对有效-,我已经在我正在进行的项目中成功地使用了它,多亏了这个jQuery for Designers教程- 你可以在这里看到我的问题: 我希望在联系人div出现时有一个触发器,但此代码不起作用: $(window).scroll(function () { if ($("#contact-header:in-viewport")) {  $('nav').css('background-color','red'); } }); 我也尝试过一些甚至不在页面上的东

我知道这个插件绝对有效-,我已经在我正在进行的项目中成功地使用了它,多亏了这个jQuery for Designers教程-

你可以在这里看到我的问题:

我希望在联系人div出现时有一个触发器,但此代码不起作用:

$(window).scroll(function () {
  if ($("#contact-header:in-viewport")) {
     $('nav').css('background-color','red');
  }
});
我也尝试过一些甚至不在页面上的东西,例如

它一直在发射,好像#contact header div始终处于焦点位置。 然而,你会看到这个插件成功地在导航上工作,根据你在页面的哪个部分有不同的突出显示

有什么明显的我做错了吗

我甚至试过

$(window).scroll(function () {
    if ($("h6:in-viewport")) {
      $('nav').css('background-color','red');
    }
});
…尽管页面上没有h6s,但仍高亮显示导航红色

非常感谢


Jay

只是一个猜测,但您有一个#content header的href,所以请尝试:

$(window).scroll(function () {
if ($("div#contact-header:in-viewport")) {
 $('nav').css('background-color','red');
}
});
好的,失败了。尝试:

$(window).scroll(function () {
$("div#contact-header:in-viewport").each(function() {
 $('nav').css('background-color','red');
});
});

编辑了我的第一个解决方案。试一下备选方案。听起来有点迟钝,但我如何用if语句来表达呢?每次我这么做的时候,它都会绊倒。我是jQueryYou的新手,您必须确定在“true.console.log”($(“div#content header:in viewport)))或警报($($(“div#content header:in viewport));并移动视口以查看控制台或警报的输出是否更改。我不知道插件返回了什么。对于您的“if”行,您是否想过尝试
if($(“h6:in viewport”).length>0{