首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Waypoint和Inview jquery。如何修复DOM问题

Waypoint和Inview jquery。如何修复DOM问题
EN

Stack Overflow用户
提问于 2016-05-27 09:05:22
回答 1查看 628关注 0票数 1

我正在尝试定制一个名为wp post post的wordpress插件。我想把包装load more按钮的#basic-waypoint-cyberwrath作为目标,因为这个插件没有自动化功能。它需要手动点击加载更多的按钮,我不喜欢它。

这是我到目前为止在inview中得到的代码:

代码语言:javascript
复制
var inview = new Waypoint.Inview({
    element : $('#basic-waypoint-cyberwrath')[0],
    enter : function(direction) {
        //alert('Enter triggered with direction ' + direction)
    },
    entered : function(direction) {
        //alert('Entered triggered with direction ' + direction)
        $('.wpp_loadmore_pager').click();
    },
    exit : function(direction) {
        //alert('Exit triggered with direction ' + direction)
    },
    exited : function(direction) {
        //alert('Exited triggered with direction ' + direction)
    }
});

当我使用警报功能时。无论我滚动到ID多少次,它都会在inview中很好地提醒我,它会一直触发提醒功能。但当我使用点击功能时。它只触发一次,因为每次单击load more按钮时都会动态加载#basic-waypoint-cyberwrath。这是到目前为止我做过的最接近的代码。。

这是我到目前为止得到的waypoint的代码:

代码语言:javascript
复制
var $fusionheader = $('#basic-waypoint-cyberwrath');
$fusionheader.waypoint(function(direction) {
    if (direction === 'down') {
        // do stuff
        //alert('I am going down');
        $('.wpp_loadmore_pager').click();
    }
    jQuery.waypoints('refresh');
}, {
    offset : '90%'
});

我几乎什么都试过了。我不再知道我在这里错过了什么。两者在第一次向下滚动时都很好,然后在看到#basic-waypoint-cyberwrath时触发,但在第二轮时不再触发,这样就可以通过加载更多按钮来查看其他帖子列表。

我甚至尝试了一个for loop语句,但仍然没有成功:

代码语言:javascript
复制
var discreteElements = document.getElementById('basic-waypoint-cyberwrath');
for (var i = 0; i < discreteElements.length; i++) {
    new Waypoint.Inview({
        element : this,
        enter : function(direction) {
        },
        entered : function(direction) {
            //animatelettering.textillate('in')
            $('.wpp_loadmore_pager').click();
        },
        exit : function(direction) {
            //animatelettering.textillate('out')
        },
        exited : function(direction) {
        }
    });
};

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2016-05-27 23:04:02

您需要跟踪导致加载这些post的实际原因(可能是一个函数),并将处理程序重新附加到click事件。您可以使用以下命令完成此操作

代码语言:javascript
复制
$(".container").on("click", ".wpp_loadmore_pager", function() {
    //load_function();
});

.wpp_loadmore_pager很可能在某个地方附加了一个单击事件,并且它正在运行某个函数(load_posts()、get_posts()等)。在该函数中,您可能会看到重新创建该按钮的代码。这就是您需要重新连接处理程序的地方。

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

https://stackoverflow.com/questions/37473265

复制
相关文章

相似问题

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