django 實現滾動式載入的功能

來源:互聯網
上載者:User

 正在用django做一個社區網站  notewo.com ,其實想到要實現像google+ 那樣的滾動式載入功能。一直在想怎麼做才好。

現在整理出來的步驟如下:

第一步、實現django的分頁功能。

 

 
  1. vim views.py 
  2. from django.core.paginator import Paginator,InvalidPage,EmptyPage 
  3.  
  4.  
  5. def myBlog(request): 
  6.     form = PostForm(request.POST) 
  7.     commentform = CommentForm() 
  8.      
  9.     posts_list  = Blog.objects.order_by('-date').all() 
  10.   
  11.     paginator = Paginator(posts_list,20)  #顯示20條記錄
  12.     try : 
  13.         page = int(request.GET.get('page','1')) 
  14.     except ValueError: 
  15.         page = 1 
  16.  
  17.     try : 
  18.          posts = paginator.page(page) 
  19.     except (EmptyPage,InvalidPage): 
  20.          posts = paginator.page(paginator.num_pages) 
  21.      
  22.     t = get_template('notewo/blog.html') 
  23.     c = RequestContext(request,locals()) 
  24.     return HttpResponse(t.render(c)) 

 

 
  1. {% for  post in posts.object_list %} 
  2.    <li class="box bloglist" > 
  3.        (這裡就隨便放你的html代碼了) 
  4.    </li> 
  5.  {% endfor %} 
  6.    <li class="page"> 
  7.        <div class="pagination"> 
  8.               <span class="step-links"> 
  9.            {% if posts.has_previous %} 
  10.                   <a href="?page={{ posts.previous_page_number }}">previous</a> 
  11.            {% endif %} 
  12.  
  13.           <span class="current"> 
  14.                   Page {{ posts.number }} of {{  posts.paginator.num_pages }}. 
  15.           </span> 
  16.  
  17.               {% if posts.has_next %} 
  18.                     <a href="?page={{ posts.next_page_number }}" class="nextpage">next</a> 
  19.                        <a   class="nextpage2">next</a> 
  20.               {% endif %} 
  21.               </span> 
  22.        </div> 
  23.    </li> 

第二步、

你應該留意一下,上面我寫了一條:

 

 
  1. <a   class="nextpage2">next</a>  

的代碼。小弟不才,只能借這種蠢方法。繼續往下

 

 
  1. function getnextpage(){ 
  2.  
  3.     $(".nextpage2").click(function(){ 
  4.         var href = $(".nextpage").attr("href"); 
  5.         console.log(href); 
  6.         $.ajax({ 
  7.             type:"get", 
  8.             url: href, 
  9.             success:function(data){ 
  10.              var html = $(data).find(".showblog").html(); 
  11.              $(".pageli").remove(); 
  12.              $(".showblog").append(html); 
  13.                 //重新綁定點擊事件 
  14.                 getnextpage(); 
  15.             } 
  16.         }) ;//end ajax 
  17.     }); // end    $(".nextpage) 

$(".showblog") 是頂層的ul

當$(".nextpage2") 被點擊之後,觸發$(".nextpage"),捕撈返回的資料,再把其中的li資料添加到ul的尾部。

如果大家想要實現滾動滾動到底部自動添加的話,再改進一下已經不難了。睡覺了

 

 

 

本文出自 “YEELONⒼ ” 部落格,請務必保留此出處http://yeelone.blog.51cto.com/1476571/940474

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.