1

我有一个根据 scroll spy 参数取消隐藏的 div,但是如果我想添加另一个在不同条件下出现的 div 怎么办?我不希望两个 div 同时出现,只有在它们被滚动之后。

下面是我的JQ:

<script type='text/javascript'>
    $(document).ready(function() {
            $('.nav').hide();
            $('#sticky-navigation').scrollspy({
                min: $('.nav').offset().top,
                onEnter: function(element, position) {
                    $(".nav").show('hide');
                },

            });
        });
</script>

谢谢!乔伊

4

1 回答 1

2

乔,

很难从您发布的片段中确切知道您要做什么,但我认为您应该查看插件站点中的颜色示例:https ://github.com/sxalexander/jquery-scrollspy/blob/主/示例/colors.html

这是执行 Javascript 的主要代码片段”

$('.color').each(function(i) {
    var position = $(this).position();
    console.log(position);
    console.log('min: ' + position.top + ' / max: ' + parseInt(position.top + $(this).height()));
    $(this).scrollspy({
        min: position.top,
        max: position.top + $(this).height(),
        onEnter: function(element, position) {
            if (console) console.log('entering ' + element.id);
            $("body").css('background-color', element.id);
        },
        onLeave: function(element, position) {
            if (console) console.log('leaving ' + element.id);
            //    $('body').css('background-color','#eee');
        }
    });
});

他给他试图触发一类“颜色”的每个 div,然后使用循环为每个特定的 div 分配一个函数。在这个例子中,他指定了背景颜色,但您可以轻松地显示或隐藏 div 本身。如果您不能将行为填充到循环中,则始终可以为每个 div 单独分配 scrollspy 函数。

保罗

于 2012-04-09T22:27:27.590 回答