Я предлагаю использовать $(this).parent().find('item-price')
, потому что он также будет работать, когда позиция HTML-кода изменилась, поэтому лучше использовать это.
$(document).ready(function() {
$(".item-btn").click(function() {
$('.item-price').hide();
$(this).parent().find('.item-price').toggle();
});
});
li {
list-style: none;
background: #ddd;
margin-bottom: 30px;
padding: 5px;
}
.item-price {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main-list">
<ul class="lict-block">
<li class="item">
<div class="item-img"></div>
<div class="item-content">
<div class="item-btn">Show Price</div>
<div class="item-price">
<h3>23.66</h3>
</div>
</div>
</li>
<li class="item">
<div class="item-img"></div>
<div class="item-content">
<div class="item-btn">Show Price</div>
<div class="item-price">
<h3>23.66</h3>
</div>
</div>
</li>
<li class="item">
<div class="item-img"></div>
<div class="item-content">
<div class="item-btn">Show Price</div>
<div class="item-price">
<h3>23.66</h3>
</div>
</div>
</li>
</ul>
</div>
Вы довольно близко используете scrollTop == scrollHeight
.
scrollTop
относится к верхней части позиции прокрутки, которая будет scrollHeight - offsetHeight
Ваш оператор if должен выглядеть так (не забывайте использовать тройное равенство):
if( obj.scrollTop === (obj.scrollHeight - obj.offsetHeight))
{
}
Изменить: исправил мой ответ, был полностью неверным