Спасибо, Марк, у меня все получилось. Я назначаю класс и удаляю его из div, когда условие оператора if истинно. еще я удаляю его.
Извините, я пытался создать работающий фрагмент, но не смог заставить его работать. Я не уверен, что делает мой код: /
Я нашел похожий подход здесь: sitepoint
Сценарий:
$(document).scroll(function(){
$(".grid-item").each(function(){
var el = $(this);
var top = el.offset().top - $(document).scrollTop();
/*console.log("p"+el.attr("id"));
console.log(el.attr("id") +(" ")+ top);*/
if (top < 400 && top > 0) {
$("#p" + el.attr("id")).addClass("show");
return;
}else {
$("#p" + el.attr("id")).removeClass("show");
return;
};
})
});
css :
.desc{
display:none;
float: left;
bottom: 10px;
left: 10px;
z-index: 10;
}
.show{
display: block;
}
html структура (джекилл):
</div>
<div class="floater">
{% assign AbbCounter = 0 %}
{% for desc in page.descs%}
{% assign AbbCounter = AbbCounter | plus: 1 %}
<div class="desc"; id="p{{forloop.index}}">
<p> Abb. {{AbbCounter}}: {{desc}}</p>
</div>
{% endfor%}
</div>
</div>
<div class="grid-container">
<div class="floater"></div>
{% assign someVar = 0 %}
{% for image in site.static_files %}
{% if image.path contains '06_PraktikumP3' %}
{% assign someVar = someVar | plus: 1 %}
<div class="grid-item"; id="{{someVar}}">
<img class="resize" src="{{ site.baseurl }}{{ image.path }}">
</video>
</div>
<!--class="resize"; src="{{ site.baseurl }}{{ image.path }}" alt="{{forloop.index0}}" />-->
{% endif %}
{% endfor %}
</div>