2011-10-05 42 views
1

試圖實現一個簡單的「加載更多」使用jQuery功能。這個想法就像使用頁面一樣使用它。單擊並顯示從數據庫加載的一定數量的帖子。JQuery:爲什麼這加載更多的功能不工作?

我有以下的javascript:

$(function(){ 
    var count = 0; 
    var num = 20; 
    $("#contents").load("posts.php"); 
    $("#more").click(
function(){ 
var count = 0; 
var num = 20; 
$("#contents").load("posts.php"); 
$("#more").click(
     function(){ 
       $(".loading").show("fast"); 
         count += num; 
         $.post("posts.php", {'page': count}, function(data){ 

             $("#contents").append(data); 
             $(".loading").hide("slow"); 
           }); 

       } 

); 

及以下文件posts.php

<? 
echo "hello"; 
?> 

我必須跟

<div id="contents"></div> 
<div class="loading"><span style="text-decoration: blink;">LOADING...!</span></div> 
<button id="more">More..</button> 

另一個文件page.php文件,當我點擊儘管我只是試圖在這裏打印出一個簡單的hello世界,但「更多按鈕」卻沒有任何反應。我已經在文件的頭部加載了javascript,如

<script type ="text/javascript" src ="javascript/load.js"></script> 

我實現的其他javascript功能工作正常。有什麼要添加到page.php中的「加載」或「內容」元素?

回答

2

您的JavaScript缺乏基本的語法結構,必須發出一個語法錯誤,除非你搞砸了,而在這裏發帖。試試這個:

$(function(){ 
    var count = 0; 
    $("#more").click(loadPosts); 
    loadPosts(); 

    function loadPosts() { 
     var num = 20; 
     $(".loading").show("fast"); 
     count += num; 
     $.post("posts.php", {'page': count}, function(data){ 
      $("#contents").append(data); 
      $(".loading").hide("slow"); 
     }); 
    } 
}); 

UPDATE

編輯上面的代碼,並刪除$("#contents").load("posts.php");。這不是必要的,而且是多餘的。

+0

感謝您的詳細答覆...不幸的是..clicking按鈕仍然無法打印出「你好」 ...... – algorithmicCoder

+0

是否發佈到'posts.php'(使用Firebug的控制檯來檢查)?另外,我只注意到你必須在函數外聲明'count',我會編輯答案。 – bfavaretto

+0

它只是顯示「加載」 ... – algorithmicCoder

相關問題