我试图自定义一个名为wp post listing的wordpress插件。我想针对包含更多按钮的#basic-waypoint-cyberwrath,因为插件没有自动化。它需要手动点击我不喜欢的加载更多按钮。
这是我迄今为止获得的代码:
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中发出警报。它不断触发警报功能。但是当我使用点击功能时。它只会触发一次,因为每次单击“加载更多”按钮时,#basic-waypoint-cyberwrath都是新动态加载的。这是我到目前为止最接近的代码。
这是我到目前为止获得的航点代码:
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时触发,但它不会再触发第2轮,依此类推加载更多按钮以查看其他帖子列表。
我甚至尝试过for循环语句,但仍然没有运气:
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) {
}
});
};
请帮忙。
答案 0 :(得分:0)
您需要跟踪实际导致加载这些帖子的内容(可能是一个函数),并将处理程序重新附加到那里的click事件。您可以使用
完成此操作$(".container").on("click", ".wpp_loadmore_pager", function() {
//load_function();
});
很可能.wpp_loadmore_pager
在某处附加了一个点击事件,并且它正在运行某些功能(load_posts(),get_posts()等)。在该功能中,您可能会看到重新创建该按钮的代码。这是您需要重新连接处理程序的地方。