当用户向下滚动到页面的末尾时,我试图将数据附加到html表,这是我能够做到的。但是如何保持滚动次数?在每个实例中,我需要将计数加1,每次我的url将被该计数追加..当计数达到6时,我应该停止将计数附加到网址。 请分享一些关于如何处理这个问题的想法......
这里添加了test file ...
答案 0 :(得分:3)
var count = 1;
jQuery("#scrollPane").scroll(function() {
if (Math.ceil(boxHeight - $inner.offset().top + boxOffsetTop) >= innerOuterHeight ) {
if(count==6)
{
alert("stop");
}
count++;
}
});
答案 1 :(得分:1)
var counter = 1;
$(window).bind('scroll', function() {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
alert(counter + " scroll me again");
counter++;
if (counter > 6) {
$(this).unbind('scroll');
alert('no more scrolling')
}
}
});
-10表示在执行函数之前,用户必须离页面末端有多远。这使您可以根据需要灵活地调整行为。
当计数达到6时,它将取消绑定滚动。因此该功能已关闭。
答案 2 :(得分:1)
像这样跟踪滚动可能会导致问题。
我写了一篇跟踪滚动深度并将信息报告回Google Analytics的文章。
在我的开发中,我发现滚动事件被多次触发,比我预期的要多得多。它跟踪计数将是非常不可预测的。我认为跟踪你是否90%向下滚动文档可能会更好。但是,您还需要一个触发机制来停止处理事件,直到您准备好处理更多事件,否则您将最终快速连续地进行一系列加载内容调用。
当您达到文档的90%滚动深度时,将触发以下代码。然后它会自行锁定并且不再触发事件。加载完内容后,可以将IsDuplicateScrollEvent重置为0,滚动加载触发器将再次运行。
<script src='http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js' type='text/javascript'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var IsDuplicateScrollEvent = 0;
$(document).ready(function () {
TrackEventsForPageScroll();
});
function TrackEventsForPageScroll()
{
$(window).scroll(function(){
var scrollPercent = GetScrollPercent();
if(scrollPercent > 90)
{
if(IsDuplicateScrollEvent == 0)
{
IsDuplicateScrollEvent = 1;
alert("Page Scrolled to 90% in " + document.location.href);
// trigger your content load here
}
}
});
}
function GetScrollPercent()
{
var bottom = $(window).height() + $(window).scrollTop();
var height = $(document).height();
return Math.round(100*bottom/height);
}
/* ]]> */
</script>
此代码取自我的文章:
答案 3 :(得分:0)
你在尝试'无限卷轴'吗?如果是这种情况,那么已经有一些jquery插件,如http://plugins.jquery.com/project/scrollLoad
还有像http://ajaxian.com/archives/implementing-infinite-scrolling-with-jquery
这样的教程