`

通过JQuery和AJAX实现页面数据的动态加载

阅读更多
对JQuery不咋了解,想实现一个像google图片里的下翻页的效果,闭门造车一番,终于搞定了。

不咋了解其他实现方式,有好的实现方式探讨下。


我的实现方式没啥难的,有一个需要注意的地方就是设置一个锁,避免onscroll事件触发后多次调用ajax。

另外如果是静态数据内容,比如团购网站的每天团购内容不变化,可以记录刷新到数据的总数量。因为每次数量都是增加的,如果数量没有增加,则说明没有数据了,就不再进行ajax请求,减少后台压力。如果数据是动态刷新的,比如google图片之类的,就不能用这个了。

在本例中,是唱片超市中的唱片,每个唱片框的高度是固定的。唱片超市里的数据基本也是静态的。

大概流程为:
onscroll达到刷新数据的条件->进行ajax获取数据->在数据列表div下通过appendTo增加数据

具体代码如下:
var lastSize = 0;//最后一次刷新,列表中元素总数量(这种机制不适合动态数据)
var doing = false;//锁,表示是否有onscroll事件在执行刷新操作,这个比较关键
window.onscroll = function() {
	if(doing ==true)
		return;
	var scrollHeight = $(document).scrollTop();//滚动过的高度
	var listBoxHeight = $('.list_box').height(); //每个刷新出图片框的高度
	if(scrollHeight >  listBoxHeight){ 
		var discSize = $("#discSize").val(); //已刷新列表的数量
		var allHeight = $(document).height(); 	
		
		if(allHeight - scrollHeight -listBoxHeight*3 < 0 && discSize!=lastSize){//达到刷新条件(页面高度判断),并且最后一页没有刷新过
			doing = true;//锁 
			lastSize = discSize;//保存最后一页刷新过的size,避免重复刷新最后一页
			ajaxGetDiscList(false);
			doing =false;//释放锁
		}	
	} 
}
function ajaxGetDiscList(refresh){ 
	$.get("..查询url",
		{ ..查询条件}
		,function(result){
			if(refresh==true)//如果是更改了查询条件,则替换原DIV中内容
				$('#shop_con').html(result);
			else{ //在当前查询条件下增加内容
				$(result).appendTo($('#shop_con'));
			}
    	}
  	);
}


踩的哥们要留下意见再走啊
2
5
分享到:
评论
6 楼 风云无浪 2012-10-30  
jbeduhai 写道
有图有真像

不好整图啊,动态滚动才能看到效果。
5 楼 风云无浪 2012-10-30  
xiongjinpeng 写道
可以,挺好的

嘿嘿,谢啦。就是简单了点
4 楼 jbeduhai 2012-10-30  
有图有真像
3 楼 xiongjinpeng 2012-10-30  
可以,挺好的
2 楼 风云无浪 2012-10-30  
raojl 写道
这有点像微博啊

是啊,和新浪微博下拉刷新数据差不多。不过没有刷新转圈的效果,直接就加载数据了。这算个简易的方案
1 楼 raojl 2012-10-30  
这有点像微博啊

相关推荐

    Echarts通过Ajax实现动态数据加载

    ### Echarts通过Ajax实现动态数据加载 #### 一、引言 在现代Web开发中,数据可视化是一项重要的技能。Echarts作为一款强大的JavaScript图表库,因其丰富的图表类型、灵活的配置选项以及良好的交互性而备受开发者...

    基于jquery.masonry插件开发的瀑布流ajax动态加载数据功能

    通过以上步骤,我们可以成功构建一个基于jQuery Masonry插件和Ajax技术的瀑布流动态加载数据功能。这个功能不仅提高了页面的可读性和互动性,还能有效减少服务器负载,因为只有在需要时才会请求新数据。

    jquery实现数据动态加载分页的完整版

    总的来说,使用jQuery实现数据动态加载分页需要结合前端和后端的知识,通过监听用户滚动事件、发送AJAX请求、处理服务器返回的数据以及适当地更新页面内容,可以创建出一个流畅且高效的分页系统。

    jQuery+datatables插件实现ajax加载数据与增删改查功能示例

    整体来看,本文档的知识点集中于如何使用jQuery和datatables插件来增强网页表格的用户体验,提供动态的数据加载以及操作功能。通过示例代码,读者可以学习到如何结合这些技术实现一个功能完善的表格管理界面。这通常...

    jquery+ajax实现的表单分页,页面复杂表单数据的加载

    "jQuery+Ajax实现的表单分页,页面复杂表单数据的加载"是一种高效且用户友好的解决方案,能够提高网页性能,优化用户体验。本知识点主要围绕jQuery、Ajax、分页以及复杂表单的数据加载进行深入探讨。 首先,jQuery...

    jQuery+ajax实现三级级联

    在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...

    JQuery+AJAX实现用户名验证

    AJAX(异步JavaScript和XML)则是一种在不刷新整个页面的情况下更新部分网页内容的技术,通过创建XMLHttpRequest对象,向服务器发送异步请求并接收响应数据。 在“JQuery+AJAX实现用户名验证”的场景中,我们通常会...

    ASP.NET+jquery实现AJAX滚动滚动条加载数据的下拉列表控件

    ASP.NET是一种微软开发的服务器端Web应用程序框架,用于构建动态网站、web应用和服务。它集成了.NET Framework的强大功能,提供了一种...在实现过程中,注意合理设计数据加载机制,以确保应用性能和用户体验的平衡。

    jQuery+ajax实现局部刷新的两种方法

    对于jQuery,它是一个快速、小巧、功能丰富的JavaScript库,通过它可以轻松操作DOM,而ajax允许我们实现无需重新加载整个页面就可以更新网页的部分内容。 第一种方法是利用jQuery的.load()方法,这是一种非常简便的...

    jQuery+ajax实现动态添加表格tr td功能示例

    ### jQuery+ajax实现动态添加表格tr td功能 ...本文展示的示例是一个动态添加表格tr td功能的基础实现,通过实践这个例子,读者可以加深对jQuery和ajax技术的理解,并学会将这些技术应用到实际的Web开发中。

    jquery+ajax+asp+mysql加载更多。

    在网页开发中,"加载更多"功能是一种常见的用户体验优化手段,尤其在处理...每个环节都需要良好的编程实践和性能优化,例如使用分页查询以减少数据库压力,以及合理设置数据加载的批次大小以平衡用户体验和服务器负载。

    jquery实现图片延迟加载和ajax方式加载页面.rar

    综上所述,本资源可能包含一个或多个示例代码文件,演示如何利用jQuery实现图片延迟加载和Ajax页面加载,这对于提升网页性能和用户体验至关重要。下载并解压后,开发者可以通过学习和实践这些代码,进一步掌握这两种...

    jQuery-ajax-json实现自动轮播图.rar

    这样,我们就实现了使用jQuery、ajax和json动态加载并展示自动轮播图的功能。需要注意的是,实际应用中还需要考虑错误处理、图片加载优化、触摸滑动支持等细节,以提供更完善的用户体验。此外,可以结合CSS3的动画...

    jQuery+ajax异步加载分页代码

    总结,这个jQuery+Ajax异步加载分页代码实现了动态加载数据,提高了用户体验,同时允许自定义分页设置,具有很好的灵活性和实用性。通过理解并实践这个示例,开发者可以更好地掌握Ajax和jQuery在实际项目中的应用。

    利用Ajax+Jquery实现异步进度条效果

    总结来说,"利用Ajax+Jquery实现异步进度条效果"是一个综合性的技术实践,涵盖了C#、.NET框架、Ajax和Jquery等多个技术领域,旨在通过实时反馈提高用户交互体验。理解并掌握这些技术,对于开发高效、用户友好的Web...

    jquery+ajax实现无刷新提交的功能

    通过在后台服务器加载和交换数据并使数据自动更新,Ajax可以实现网页的部分更新,无需重新加载整个页面。这不仅提升了用户体验,也降低了服务器的负担。 #### 实现原理 本例中的无刷新提交功能主要依赖于jQuery...

    jquery实现图片延迟加载和ajax方式加载页面

    结合图片延迟加载和Ajax页面加载,我们可以创建更高效的网页。例如,对于营销型单页面,可以先加载主要内容,然后使用Ajax加载更多图片或其他内容。在用户滚动到页面底部时,触发Ajax请求加载下一批图片或内容,同时...

    php+ajax实现无刷新动态加载数据技术

    无刷新动态加载数据技术的核心在于Ajax(Asynchronous JavaScript and XML)技术的应用,通过JavaScript与服务器端进行异步的数据交换,从而无需重新加载整个页面即可获取和更新数据。 本实例讲解了如何使用PHP配合...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    jQuery中的AJAX请求是一种非常常见的前端异步数据交互方式,它的作用是使得页面无需重新加载即可向服务器请求数据,并将数据动态地加载到页面中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...

    jQueryPager(JQuery分页插件pagination实现Ajax分页)

    jQueryPager是一款轻量级的jQuery分页插件,它允许开发者通过Ajax无刷新的方式实现网页数据的分页加载。此插件名为`pagination`,在CSDN等技术交流平台上被广泛讨论和分享。 **1. jQuery与Ajax** jQuery是一个强大...

Global site tag (gtag.js) - Google Analytics