根据滚动位置更改多个对象的css

时间:2014-06-17 15:59:16

标签: jquery html css

我正在尝试突出显示与当前滚动到的div对应的粘贴标题中的链接。我尽力在网上找到解决方案,但没有找到任何东西。也许我一直在使用错误的关键字,所以请原谅我已经回答过了。我也知道Bootstrap的Scrollspy,但是,我网站上的某些东西阻止它工作。哦,亲爱的......有些事情发生了严重的错误。

无论如何,如果您能看一下以下小提琴,我将不胜感激: http://jsfiddle.net/Eh5L9/9/

    $(window).scroll(function () {
    $(".panel").each(function() {
        var eidee = this.attr('id'),
            thetop = this.offset().top,
            thebottom = this.offset.top + this.height();            
        if ($(document).scrollTop() > thetop && $(document).scrollTop() < thebottom) {
            $('#menu link' + eidee).addClass('bla');
        }   
        else {
            $('#menu link' + eidee).removeClass('bla');
        }
    });
});

1 个答案:

答案 0 :(得分:0)

除了一堆拼写错误之外,还有一个工作小提琴:http://jsfiddle.net/Eh5L9/6/

我将CSS菜单更改为显示在底部,以便您可以看到它的工作原理。仍然有更好的方法来编写这个代码 - 无论如何它仍在工作..

JS:

    $(window).scroll(function() {
    $(".panel").each(function(){ 
        var eidee = $(this).attr('id'),
            thetop = $(this).offset().top,
            thebottom = $(this).offset().top + $(this).height();    
        if ($(document).scrollTop() > thetop && $(document).scrollTop() < thebottom) {
            $('#menu').find('#link' + eidee).addClass('bla');
        }   
        else {
            $('#menu').find('#link' + eidee).removeClass('bla');
        }
    });
});