我在我的 Wordpress 网站上使用 JQuery 无限滚动脚本。该脚本工作正常,但是一旦显示所有帖子,我就无法停止脚本。我在自定义帖子类型上使用它,并直接对 wordpress (MySQL) 数据库进行查询。
我还创建了一个自定义分页以与无限滚动一起使用,并用于$Totalpages
检查有多少页可用。显示所有帖子后,$Totalpages
变量等于“0”,我知道没有更多帖子可显示,无限滚动应该停止工作。这是我页面中的 JavaScript ......
<script>
var infinite_scroll = {
loading: {
img: "<?php echo get_template_directory_uri(); ?>/images/ajax-loader.gif",
msgText: "<?php _e( 'Loading the next set of posts...', 'custom' ); ?>",
finishedMsg: "<?php _e( 'All posts loaded.', 'custom' ); ?>"
},
"nextSelector":".previous a",
"navSelector":".post-nav",
"itemSelector":"article",
"contentSelector":".main"
};
jQuery( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll );
</script>
我正在考虑阻止 JQuery 继续执行
if ($Totalpages == 0) { stop Jquery from executing}
当我需要执行它来编写if ($Totalpages !=0){Execute the Javascript}
我将如何实现它时。
更新问题
好的,我已将我的问题更新为 Ceryl 下面建议的内容,修改代码以适应上面的代码
<?php if ($total_pages == 0) {
echo 'jQuery(window).unbind( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll );';
}?>
<?php if ($total_pages != 0){
echo 'jQuery(window).bind( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll );';
//$(window).unbind('.infscr');
}?>
if 语句看起来是正确的,但是当我在我的页面上实现它时它不起作用。如果我将 unbind 选项设置为 4(这是我拥有的页面总数,它会阻止 JQuery 绑定,所以我知道它可以工作)。但是在实施时,它没有!
任何想法为什么会这样?