检查元素在滚动条上是否可见

时间:2019-03-28 19:58:46

标签: javascript jquery html

我在这里https://github.com/customd/jquery-visible使用此github源代码 我正在尝试检查标记为“ test”的div是否对视口可见并将一个类添加到元素。

我在这里尝试过

$(window).scroll(function() {
        var detectPartial = $('#test').val() == 'partial';

        // Is this element visible onscreen?
        var visible = $(this).visible( detectPartial );

        // Set the visible status into the span.

        if(visible) {
            $('#test').addClass('active');
        }
    });

脚本代码:

<script type="text/javascript">
    $(window).scroll(function() {
        if($('#test').visible()){
            $('.contact').addClass('active');
            $('.home').removeClass('active');
        } else {
            $('.home').addClass('active');
            $('.contact').removeClass('active');
        }
    });
</script>

HTML代码:

<div class="test" id="test" style="height: 700px"></div>

<li class="main-li"><a href="#" class="nav-links contact" id="contact">Contact Us</a></li>

我正在尝试检查视口是否可见test。 如果可见,则将active类添加到contact

1 个答案:

答案 0 :(得分:1)

这是获得该结果的一种方法。

$(window).scroll(function() {
    if ($('#test').visible()) {
        $('#test').addClass('active');
    }
});

我不确定您要使用.val()方法做什么,并且您的$(this)#test div的方式将没有任何关系。您能详细解释一下吗?