如何在您放入某个部分时添加课程

时间:2015-01-26 16:22:38

标签: javascript jquery html css

所以,我已经建立了自己的网站,并且我试图给它一些风格。我有以下代码来更改类。 如果滚动600像素或更多,则会显示导航背景。

<script>
        $(document).scroll(function() {
            if ($(document).scrollTop() >= 600) {
                $('.navbar-default').addClass('sticky');
            } else {
                $('.navbar-default').removeClass('sticky');
            }
        });
</script>

我的问题是,除了滚动功能之外,还有什么方法可以添加或删除类吗?

我在考虑这样的事情:“如果我在div中使用id #example,那么添加class .sticky”,因为如果你在手机中看到div,我不知道div会有多少像素片剂。

网站: googledrive.com/host/0B7F-fUHZZLadcE1QRXhUNnp5enM

编辑:有关如何使用ajax发送联系表单的任何教程?

2 个答案:

答案 0 :(得分:1)

您可以使用要用作检查点的元素的offset.top值。例如,您的脚本可能是这样的:

$(document).scroll(function() {
    if ($(document).scrollTop() >= $("#example").offset().top) {
        $('.navbar-default').addClass('sticky');
    } else {
      $('.navbar-default').removeClass('sticky');
    }
});

答案 1 :(得分:0)

您可以在当前设备上获得标题的高度,然后在达到该滚动点后立即添加该类。

<script>
    $(document).scroll(function() {
    if ($(document).scrollTop() >= $('#headerwrapper').css('height')) {
        $('.navbar-default').addClass('sticky');
    } else {
        $('.navbar-default').removeClass('sticky');
        }
    });
</script>

另一种解决方案是计算屏幕的视口,并使用X&amp ;;检查div是否在当前位置内。 Y坐标,但这似乎过于复杂。