首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户滚动到按钮时触发按钮单击

当用户滚动到按钮时触发按钮单击
EN

Stack Overflow用户
提问于 2014-11-12 21:34:47
回答 2查看 294关注 0票数 0

我在Joomla工作,所以很难产生一个小提琴,但这是我的想法:

我有一个由12篇文章组成的马赛克网格显示在页面加载上,还有一个“加载更多”按钮--当点击时,又会加载12篇文章,以此类推。

当用户滚动到按钮时,如何触发按钮自动单击,并自动加载接下来的12个按钮,等等?

按钮HTML:

代码语言:javascript
运行
复制
<div class="loadmore">
<span class="loadmore-text">load more</span>
</div>

在按钮上单击:

代码语言:javascript
运行
复制
container.addEvent('click:relay([data-mosaic-loadmore])', relay['loadmore']);
            container.addEvent('click:relay([data-mosaic-orderby])',     relay['ordering']);
            container.addEvent('click:relay([data-mosaic-filterby])',     relay['filtering']);
EN

回答 2

Stack Overflow用户

发布于 2014-11-12 21:41:30

你可以检查用户是否滚动到末尾?

将$( document ).scrollTop与文档的高度进行比较,如果位于底部,则可以触发单击。

代码语言:javascript
运行
复制
$(document).on('scroll', function () {

            var height = $('body')[0].scrollHeight;
            if (height - $(document).scrollTop() < 1.1 * $(window).height()) {
                loadConent();
            }
        });
票数 0
EN

Stack Overflow用户

发布于 2014-11-12 22:12:19

检测您向下滚动了多远并不是一种好的方法,因为将来您可能会发现内容的长度将发生变化,因此您将不得不更新值。

相反,我建议这样做:

代码语言:javascript
运行
复制
jQuery(document).ready(function($){

    var loadmore = $('.loadmore');

    $(document).on('scroll', function(){
        if (loadmore.visible(true)){
            loadmore.trigger('click');
        }
    });

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26888277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档