1. 程式人生 > >JQuery實現頁面隨滾動條滾動而動態載入內容的效果

JQuery實現頁面隨滾動條滾動而動態載入內容的效果

      新浪微博有這個功能,剛才思考一下 ,簡單的寫了一下實現方法,程式碼是Js的.

      無可否認,這種方式應該算是web2.0的產物,在使用者體驗上具備很好的感受,除了微博在使用該方式外,另外我還發現有幾個其他性質的網站也在用這種方式,原因是他們的網站頁面比較長,所以使用者在瀏覽的時候隨著滾動條的拖拽而不斷載入新的內容到瀏覽器內,雖然體驗會不錯,但是我感覺這種方式對搜尋引擎的友好性將會降低.歡迎轉載但請註明出處Email:[email protected],Seven的部落格http://hi.baidu.com/see7di

      所以除非不得已我是不會使用這種方式的,就目前來看我的作品內我還沒發現哪個程式需要使用這種方式.

      不過不論如何,創新就是一種進步,難道不是嗎?

下邊的程式碼是直接使用javascript來實現:
window.onscroll = function(){
var water = document.getElementById("water");
water.style.top = (document.documentElement.scrollTop|document.body.scrollTop)+'px';
water.innerHTML = "scrollTop:" + (document.documentElement.scrollTop|document.body.scrollTop) + "<br/>ClientHeight:" + document.documentElement.clientHeight + "<br/>scrollHeight:" + document.documentElement.scrollHeight;

//滾動條在最底端的時候
if (document.documentElement.scrollHeight == (document.documentElement.scrollTop|document.body.scrollTop)+document.documentElement.clientHeight) {
//到最底端去請求新資料
var table=I.$('tag','table')[0];
var start=parseInt(table.rows[table.rows.length-1].cells[0].innerHTML)+1;;
var length=10;
var param='start='+start+'&length='+length;
I.AJAX.post('/test2/DataServlet',param,function(o){
var persons=I.AJAX.json(o.responseText);
//載入新的十行資料
for(var i=0;i<persons.length;i++){
var row=table.insertRow(table.rows.length);
row.insertCell(0).innerHTML=persons[i].id;
row.insertCell(1).innerHTML=persons[i].name;
row.insertCell(2).innerHTML=persons[i].age;
row.insertCell(3).innerHTML=persons[i].hoppy;
}
//刪除前十行資料
for(var i=0;i<10;i++){
table.deleteRow(1);
}
window.scroll(0,parseInt(document.documentElement.scrollTop)-15);//設定滾動條的位置
});
}

//滾動條在最頂端的時候
if((document.documentElement.scrollTop|document.body.scrollTop)==0){

var table=I.$('tag','table')[0];

var e=table.rows[1].cells[0].innerHTML;
if(e!='0'){
var s=parseInt(e)-10<0?0:parseInt(e)-10;
var param='start='+s+'&length=10';
I.AJAX.post('/test2/DataServlet',param,function(o){
var persons=I.AJAX.json(o.responseText);
//載入新的十行資料
for(var i=0;i<persons.length;i++){
var row=table.insertRow(i+1);
row.insertCell(0).innerHTML=persons[i].id;
row.insertCell(1).innerHTML=persons[i].name;
row.insertCell(2).innerHTML=persons[i].age;
row.insertCell(3).innerHTML=persons[i].hoppy;
}
//刪除後十行資料
for(var i=0;i<10;i++){
table.deleteRow(table.rows.length-1);
}
window.scroll(0,15);//設定滾動條的位置
});
}
}

下邊的程式碼是使用Jquery來實現:
//感應滾動條的高度載入新內容
$(window).scroll(function(){
aa=parseInt($(document).height()); //獲取文件的高度
oo=parseInt($(document).scrollTop()); //獲取滾動條到頂部的垂直高度

if((aa-oo)<800){
if(!window.ia){
ia=1;
$.post("sys.php",{work:"hotels",s:('a=c+d 中國e+f&g>h')},function(msg){//用ajax即時獲取伺服器上的資料
if(msg.length>0){
$("#index #tab5 #tab19").last().after(msg);
ia=null;
}else{
$("#index #div2").last().remove();
$("#index #tab5 #tab19").last().after('<span>Error:沒有搜尋到任何結果,請嘗試更換搜尋條件!</span>');
}
});
}
}
});

擴充套件閱讀:

Jquery外掛 - 可以隨著滾動條的滾動而即時載入圖片
http://hi.baidu.com/see7di/blog/item/3d698352fd0fee170cf3e381.html

相關推薦

JQuery實現頁面滾動滾動動態載入內容效果

      新浪微博有這個功能,剛才思考一下 ,簡單的寫了一下實現方法,程式碼是Js的.      無可否認,這種方式應該算是web2.0的產物,在使用者體驗上具備很好的感受,除了微博在使用該方式外,另外我還發現有幾個其他性質的網站也在用這種方式,原因是他們的網站頁面比較長,所以使用者在瀏覽的時候隨著滾動條的

jQuery實現頁面滾動自動滾動到需要的位置

程式碼如下: <script> $(function(){         $('html,body').animate({scrollTop:1000},'slow'); }) </script> 解讀程式碼:在載入html頁面的body

基於jQuery實現頁面滾動時頂部導航顯示隱藏效果

center query styles 顯示 true function viewport top int <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=

jquery監聽頁面滾動滾動事件

    $(document).scroll(function() {        var scroH = $(document).scrollTop(); //滾動高度 var viewH = $

jQuery實現區域性區域滾動滾動到底部自動載入資料的問題總結與實現方法

1 需求背景 在我們做管理系統,需要從後臺資料庫取出資料顯示到前臺時,可能我們的做法就是將資料全部取出然後利用jQuery動態新增到表格當中,但是當我們取出的量非常大時問題就出現了,我們會發現頁面載入的速度非常慢,這時我們就可利用分頁或者這種監聽滾動條來自動載入資料,這種技術也稱為“

jQuery實現頁面滾動時頂部動態顯示隱藏

很多時候你會看到頁面上有一個始終固定在網頁頂部的導航選單,當頁面向下滾動的時候,導航選單動態隱藏,頁面滾動到頂部時,導航選單動態顯示,淘寶也採用過此效果,很不錯,當然,裡面使用了CSS3動畫效果,不支援低版本瀏覽器。程式碼相當的簡單,只需幾行就搞定。 &l

純css實現頂部進度滾動滾動

<!DOCTYPE html> <head>   <meta charset="utf-8">   <meta http-equiv="X-UA-Compatible" content="IE=edge">   <tit

jQuery實現頁面滾動圖片按需載入(轉載)

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jquery scrolling</title>

固定層不滾動滾動滾動(純CSS,相容IE6,IE7,IE8,Firefox,Safari)

使用CSS來固定層,此層不隨滾動條滾動而滾動,固定層分三個位置: 頁面頂端: 頁面中央: 頁面底層: StaticContent.css檔案: /*******呼叫<div id="fiexd-headerIE6"></div>****

使用jquery實現頁面滾動到底部自動載入新的資訊

//定義載入一次的資訊物件數量 public class Constant { public final static int DEFAULT_FIRST_COUNT = 8;//第一次列

jquery實現頁面無限滾動外掛

一、外掛概述 實現網頁底部自動載入內容的外掛很多,如, 1、jQuery ScrollPagination jQuery ScrollPagination plugin 是一個jQuery 實現的支援無限滾動載入資料的外掛。 地址:http://ande

js實現滾動滾動div位置動態變化

js實現隨滾動條滾動,div位置動態變化,使div不會因為滾動條的下滑而導致div被上部邊界覆蓋。 本例比較簡單,就不做過多解釋了。 注:不是完整程式碼,不能直接複製執行! js: $(function(){window.onscroll=function(){var to

使用css實現移動端導航滾動

動態 inline -i 使用 div 導航條 底部 ble pac 1 <div class="tab"> 2 <div class="table-item"> 3 <span class="tab-link">首頁

jQuery判斷滾動滾動到頂部和底部

//底部 $(window).scroll(function(){ var viewHeight =$(window).height();//可見高度 var contentHeight =$('.list_box').get(0).scrollHeight;//

jquery 滾動滾動到底部

$("#chartContainer").animate({scrollTop:$("#chartContainer").prop("scrollHeight")}, 400);//0.4秒內滾

關於ScrollViewer滾動滾動至最底部的實現

轉載:http://blog.csdn.net/hyr83960944/article/details/7728644 做win8開發也2個月了,一直的想把自己的心得放到部落格上,可是每次都是趕專案,沒空寫,這裡也就不從頭開始寫了,開發遇到哪些問題就寫哪些吧,以前的一

純 css 實現 PC 端無滾動滾動樣式分享

由於接觸過各種後臺管理平臺開發,我們的開發介面一般左側導航欄,右側內容區域。在左側呢一旦超出高度在不同的瀏覽器就會顯示滾動條。嚴重影響頁面美觀。在這裡呢主要是講的css實現 PC 端無滾動條滾動樣式。下面直接上程式碼:html:<div class="box-wrapp

jquery 點選元素後,滾動滾動至該元素位置

點選元素後,滾動條滾動至該元素位置: $('a.lead-link').bind('click', function(e) { e.preventDefault(); $('html,body').animate({ scrollTop: $(this.

隨著滾動下拉來載入頁面內容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

原生js實現隨著滾動滾動,導航會自動切換的效果

最近學習前端,把前面用原生js寫的一段有關tab切換效果的程式碼貼上,實現的效果比較簡陋,請大家見諒 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/