我有一个按钮可以在点击时成功触发“加载更多”。单击后,将设置一个 SESSION 变量,以便当用户重新加载页面时,新帖子应该显示为已加载,这样用户就不需要再次单击“加载更多”。
因此,我想根据是否设置了 SESSION 或 COOKIE,在 PHP IF 语句中呈现相同的“加载更多”Javascript 函数:
<?php
if ((isset($_SESSION['isloaded'])) || (isset($_COOKIE['isloaded']))){
echo '<script>loadmore(\'posts\');</script>';
}
else {
echo '<a href="#" onClick="return false" onmousedown="javascript:loadmore(\'posts\');" class="btn btn-primary" id="load-more-btn">Load More</a>';
}
?>
但是,一旦页面呈现,Javascript 就不会被触发。我做错了什么?
最佳答案
正如@Austin 和@Angry Coder 所说,检查您的控制台是否有错误。
此外,请确保函数 loadmore()
在调用之前已定义。因此,要么将函数声明放在 loadmore('posts');
调用之上,要么将调用添加到 onload
或类似的东西上。
另一件事,也许为了清楚起见,您可以像这样编写代码(但这是一种意见):
<?php if ((isset($_SESSION['isloaded'])) || (isset($_COOKIE['isloaded']))) { ?>
<script>loadmore('posts');</script>
<?php } else { ?>
<a href="#" onClick="return false" onmousedown="javascript:loadmore('posts');" class="btn btn-primary" id="load-more-btn">Load More</a>
<?php } ?>
关于javascript - 使用 PHP 在浏览器中有条件地呈现 Javascript 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36424435/