【发布时间】:2016-05-27 01:05:22
【问题描述】:
我正在尝试自定义一个名为 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) {
}
});
};
请帮忙。
【问题讨论】:
-
这听起来像是一个 DOM 问题。
.wpp_loadmore_pager很可能在滚动后被动态添加,因此.click()只影响原始 DOM 元素。单击.wpp_loadmore_pager时会发生什么(或应该发生)?另外,您可以手动单击该元素吗?如果可以,它是否有效? -
是的,约翰。关于 DOM 问题。我懂了。我不知道。我想这就是问题所在。有什么解决办法吗?你是对的。 wpp_loadmore_pager 确实在无限滚动中动态加载
-
@johnniebenson 当您单击 .wpp_loadmore_pager 时。它会消失,并且会出现一个加载图标。它将加载其他 10 个帖子列表,然后在加载 10 个帖子列表后会显示一个新的 .wpp_loadmore_pager 按钮。
标签: javascript jquery wordpress jquery-waypoints