我正在尝试定制一个名为wp post post的wordpress插件。我想把包装load more按钮的#basic-waypoint-cyberwrath作为目标,因为这个插件没有自动化功能。它需要手动点击加载更多的按钮,我不喜欢它。
这是我到目前为止在inview中得到的代码:
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的代码:
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语句,但仍然没有成功:
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) {
}
});
};请帮帮忙。
发布于 2016-05-27 23:04:02
您需要跟踪导致加载这些post的实际原因(可能是一个函数),并将处理程序重新附加到click事件。您可以使用以下命令完成此操作
$(".container").on("click", ".wpp_loadmore_pager", function() {
//load_function();
});.wpp_loadmore_pager很可能在某个地方附加了一个单击事件,并且它正在运行某个函数(load_posts()、get_posts()等)。在该函数中,您可能会看到重新创建该按钮的代码。这就是您需要重新连接处理程序的地方。
https://stackoverflow.com/questions/37473265
复制相似问题