百度搜索了很多判斷滾動(dòng)到底部自動(dòng)加載的方法,大部分是用iScroll來(lái)制作,插件是很好,光用在這一個(gè)功能上,有點(diǎn)浪費(fèi)了。

所以綜合了幾篇信息總結(jié)了一個(gè)方法如下:



        msg_list_loading = false;
	
	$('.msg_list').on('scroll', function(){
		if ( ! msg_list_loading ){
			load_more_msg();
		}
	})
	
	function load_more_msg(){
		
		var msg_list = $('.msg_list');

		if ( msg_list.height() + msg_list[0].scrollTop >= msg_list[0].scrollHeight - 60 ) { 
			msg_list_loading = true;
			msg_list.append('<div class="loading"></div>');
			$.get('ajax_data.html').done(function( data ){ 
				msg_list.find(".loading").remove();
				msg_list.append( data );
				msg_list_loading = false;
			});
			
		} 
	} 


簡(jiǎn)單說(shuō)明:

1、先建立一個(gè)變量,判定是否加載中,防止重復(fù)加載,

2、在元素上監(jiān)聽scroll事件,調(diào)用load_more_msg方法

3、load_more_msg方法中每次重新查找元素,賦給一個(gè)變量,判斷css高度+滾動(dòng)的距離,與整個(gè)div的文檔高度,后面的-60,是一個(gè)padding top和bottom的值,可以自行設(shè)置。其中msg_list[0]是調(diào)用javascript原生對(duì)象非jquery對(duì)象,方法不同。

4、如果條件為true,鎖定加載,ajax調(diào)取數(shù)據(jù),并執(zhí)行加載,取消鎖定。

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無(wú)需額外費(fèi)用,即可穩(wěn)步提升排名至首頁(yè)。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。