首先,我想滚动到页面底部,将从数据库中加载5个新帖子。
我正在做$.ajax()
来电;
我确实在每个地方都放了一个alert()
来检查出错的地方,并评论了我认为错误的地方。
我来自data: { 'rows': rows }
如果出现这样的错误,那该怎么办?
TypeError: 'click' called on an object that does not implement interface HTMLElement.
http://code.jquery.com/jquery-latest.min.js
Line 4
这是整个jQuery
代码;
$(window).scroll(function() {
if ($(window).scrollTop() == $(document).height() - $(window).height())
{
var rows = $("#feedback_field").find(".gb_list_item");
$.ajax({
method: "POST",
url: "gastenboek_load_posts.php",
data: { 'rows': rows}
}).done(function(data){
$("#feedback_field").append(data);
});
}
});
如果您需要PHP response
代码,我认为对此问题并不重要;
<?
include_once 'core/init.php';
?>
<div id="feedback_field">
<ul>
<?
$a = 10;
if (load_next_5_gb_posts($a) == false)
{
echo 'Alle gegevens zijn geladen!';
}
else
{
$posts = load_next_5_gb_posts($a);
foreach ($posts as $data)
{
$a++;
}
?><input type="hidden" id="new_posts" value="<?=$a?>"><?
foreach ($posts as $posts)
{
?>
<li class="gb_list_item">
<div id="poster">
<p><?=$posts['naam']?></p>
<p><?=$posts['email']?></p>
<p>
<?
$datum = $posts['datum'];
$week_days_en = array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
$week_days_nl = array("Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag");
$months_en = array("January", "February", "Mart", "April", "May", "June", "July", "Augustus", "September", "October", "November", "December");
$months_nl = array("Januari", "Februari", "Maart", "April", "Meiy", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December");
$date = date_create($datum);
echo str_replace($week_days_en, $week_days_nl, str_replace($months_en, $months_nl, date_format($date,"l d F Y")));
?>
</p>
</div>
<div id="msg">
<?=nl2br($posts['msg'])?>
</div>
</li>
<?
}
}
?>
</ul>
</div>
答案 0 :(得分:1)
我刚刚找到解决方案!!!
在jQuery
代码中,此行需要.length
函数;
发件人
var rows = $("#feedback_field").find(".gb_list_item");
要
var rows = $("#feedback_field").find(".gb_list_item").length;
什么是非常合乎逻辑的,因为没有这个功能我没有得到li's
的数量;)
答案 1 :(得分:-1)
var rows = $("#feedback_field").find(".gb_list_item").length;