1

我正在处理一个页面上的一系列帖子的项目,当浏览器滚动时,类仅添加到该帖子中。我在这里有一个工作概念:http: //jsfiddle.net/chdhmphry/V7jPU/

我的问题是,这会突出显示所有帖子,而不仅仅是一个。我尝试做一些解决方法,但似乎不允许我将类添加到适合 perameters 的帖子(在窗口顶部的 20px 内)。我试过了$(this),因此为什么 $(".post").ready(function () {是代码的一部分。我到底做错了什么?

jQuery:

$(window).scroll(function() {

    var scroll = $(window).scrollTop();

    $(".post").ready(function () {
        post = $(".post", this).offset().top,
        opacity = post - 20;

        if (scroll >= opacity) {
            $(this).addClass("seventy");
        } else{
            $(this).removeClass("seventy");
        }

    });

});
4

1 回答 1

1

我将其更改为每个帖子,并更改了您获得帖子价值的方式。这已被编辑以解决您在评论中的问题:当帖子的底部低于 scrollTop 时,它将失去 70 类。

$(".post").each(function () {
    var postTop = $(this).offset().top - 20,
        postBottom = $(this).height() + postTop - 100; // -100 is just to show it work, remove.

    if (scroll >= postTop &&
       scroll <= postBottom) {
        $(this).addClass("seventy");
    } else{
        $(this).removeClass("seventy");
        return false; // more efficient, but might not work.
    }
});
于 2013-06-25T00:18:43.827 回答