在视口中将类添加到div

时间:2014-01-19 08:52:27

标签: jquery function viewport

我想在另一个div进入视口时向菜单项添加一个类。

我已经成功复制了此处的警报:http://jsfiddle.net/blowsie/M2RzU/但是,当我尝试将其从警报更改为addClass或toggleClass时,它会中断。这是我的代码:

$('#portfolio').bind('inview', function (event, visible) {
  if (visible == true) {
    // element is now visible in the viewport
    $( "#menu-item-portfolio" ).addClass( ".active-area" );
  } else {
    // element has gone out of viewport
  }
});`

我想在#portfolio进入视口时将#active-area添加到#menu-item-portfolio,然后在#portfolio离开视口时将其删除。

3 个答案:

答案 0 :(得分:1)

我找到了解决方案。代码中有一个拼写错误。代替     .addClass( “有源区域”) 它应该是     .addClass( “有源区”)

答案 1 :(得分:0)

试试这个

$(document).ready(function(){
$('.myclass').bind('inview', function (event, visible) {
  if (visible == true) {
    // element is now visible in the viewport
   $("h2").removeClass('myclass');
      alert('found h2!')
  } else {
    // element has gone out of viewport
     $("h2").addClass('myclass');
  }
});
});

演示

http://jsfiddle.net/M2RzU/24/

答案 2 :(得分:0)

您应该在文档就绪时触发事件inview

$('.myclass').trigger('inview');

<强> Working Fiddle

在小提琴中查看控制台中的更改。