我正在创建一个在目录页面中无限滚动的电子商务网站。我想知道每个产品在屏幕中向用户显示的次数(展示次数)。问题是如何获取每次用户向下滚动到新页面时呈现的新 12 个元素。然后将他们的ID传递给服务器并存储他们的印象。有没有办法访问新元素?我检查了 laravel 文档,但我没有看到任何关于这个的内容。
这是我在模板中呈现产品数组的代码:
<div class="product-one">
@foreach($products as $product)
<div class="col-md-3 product-left">
<div class="p-one simpleCart_shelfItem">
<a href="{{ route('getprodpage', ['id' => $product->id]) }}">
<img src="{{ $product->image_url1}}" alt="" />
<div class="mask">
<span>Comprar</span>
</div>
</a>
<h4>{{ $product->name }}</h4>
<p><a class="item_add" href="#"><i></i>
<span class=" item_price">
R$ {{$product->price_min}}
</span></a>
</p>
</div>
</div>
@endforeach()
<div class="clearfix"> </div>
</div>
<?php echo $products->render(); ?>
这是无限滚动的javascript:
$(function() {
$('.shoes').jscroll({
loadingHtml: '<center><img src="{{ URL::asset('images/loading.gif') }}" alt="Loading" /> </center>',
autoTrigger: true,
padding: 0,
nextSelector: '.pagination li.active + li a',
contentSelector: 'div.shoes',
callback: function() {
$('ul.pagination:visible:first').hide();
}
});
});
我相信
这个问题已经被提出并回答了。
jQuery:当div 进入视图时,如何触发事件?
这篇文章有一个答案,可以查看元素是否在视口中,还有一个关于元素何时在视口中的事件的答案。