javascript - 当在容器中可见时从元素中删除 css 类

标签 javascript jquery html css

我有以下 html 容器:

<div id="holder">
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
    <div class="element new">Content</div>
</div>

holder 容器的最大高度为 300 像素。元素容器的平均高度为 50px。 现在的任务是,每当该容器碰到 holder 容器的顶部时,一次从一个元素容器中删除"new"类。 我已经尝试了几种使用 javascript 和 jquery 的方法,但都没有用。 这是我当前的功能

$(document).ready(function() {
    $('#holder').scroll(function() {
        var s = $(".element");
        s.each(function() {
            var pos = s.position();
            var windowpos = $('holder').scrollTop();
            if (windowpos >= pos.top & windowpos <=100) {
                s.removeClass("new");
            }
        });
    });
});

问题是,这将从所有元素容器中删除该类。有没有一种方法可以只从到达 holder 容器顶部的元素中删除类?

最佳答案

如果我正确理解你的问题,这应该可以解决:

$(document).ready(function() {
    $('#holder').scroll(function() {
        var s = $(".new");
        s.each(function(index, element) {
            var pos = $(element).position();
            var windowpos = $('#holder').scrollTop();
            if (windowpos >= pos.top & windowpos <=100) {
                $(s[0]).removeClass("new");
            }
        });
    });
});

另一个问题是,您忘记了 holder 之前的 #

关于javascript - 当在容器中可见时从元素中删除 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45807213/

相关文章:

jquery - 如何在 Laravel 上实现 Jquery

javascript - Laravel:提交动态生成的表单字段

html - 单击元素时父元素的事件状态

javascript - 如何仅在某些条件成立时显示 simpleTip?

javascript - 小型网站 - 全局 javascript 文件样式/格式/模式 - 提高可维护性

javascript - Mustache JS 模板 - 如何在脚本标记字符串中嵌入变量?

javascript - CreateJS:无法使补间工作

javascript - 在高度小于另一个 div 时显示 div 中的 li 元素

html - flexbox/网格布局中的最后边距/填充折叠

javascript - 在一个函数中验证多个表单域