`
htj1231825
  • 浏览: 39873 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery图片动态加载示例

阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片动态加载示例</title>
<style type="text/css">
img{border:0;}
a{cursor:pointer;color:#014ccc;text-decoration:underline;}
a:hover{text-decoration:none;}
.clear{clear:both;height:0px;overflow:hidden;}
.img_list{margin:0 auto;}
.img_list li{list-style:none}
.img_list .items{width:300px;margin:0 auto;}
.img_list .item{float:left;margin-bottom:5px;font-size:14px;}
.img_list .item .order{display:inline-block;*display:inline;*zoom:1;width:28px;color:#f30;}
.img_list .item .i_thumb{width:300px;height:280px;}
.img_list .item .i_title{width:100%;height:20px;}
.showmore{height:35px;background:#f8f8f8;border-bottom:1px solid #cccccc;cursor:pointer;tetx-align:center;margin-bottom:25px;}
.showmore .handle{display:block;height:35px;text-align:center;color:#909090;font-size:14px;text-decoration:none;line-height:35px;}
.showmore .handle:hover{text-decoration:none;background:#e6e6e6;}
</style>
<script type="text/javascript" src="images_test/jquery-1.4.4.min.js"></script>
</head>

<body>
<center><h1>图片动态加载示例</h1></center>
<div class="img_list" id="img_list">
  <div class="items" id="items">
    <ul class="item">
      <li class="i_thumb"><a href="http://www.xuekaifa.com" target="_blank" title="初 私房"><img src="images_test/1.jpg" alt="初 私房" /></a></li>
      <li class="i_title"><span class="order">1</span><a href="http://www.xuekaifa.com" target="_blank" title="初 私房">初 私房</a></li>
    </ul>

    <ul class="item">
      <li class="i_thumb"><a href="http://www.xuekaifa.com" target="_blank" title="初 私房"><img src="images_test/2.jpg" alt="初 私房" /></a></li>
      <li class="i_title"><span class="order">2</span><a href="http://www.xuekaifa.com" target="_blank" title="初 私房">初 私房</a></li>
    </ul>
					
    <ul class="item">
      <li class="i_thumb"><a href="http://www.xuekaifa.com" target="_blank" title="初 私房"><img src="images_test/3.jpg" alt="初 私房" /></a></li>
      <li class="i_title"><span class="order">3</span><a href="http://www.xuekaifa.com" target="_blank" title="初 私房">初 私房</a></li>
    </ul>
					
    <ul class="item">
      <li class="i_thumb"><a href="http://www.xuekaifa.com" target="_blank" title="初 私房"><img src="images_test/4.jpg" alt="初 私房" /></a></li>
      <li class="i_title"><span class="order">4</span><a href="http://www.xuekaifa.com" target="_blank" title="初 私房">初 私房</a></li>
    </ul>
					
    <div class="clear"></div>
  </div>
					
  <div class="showmore" id="showmore" ><a class="handle" href="javascript:show()">显示更多结果</a></div>
	
</div>

<script type="text/javascript">
var iHeight = 0;
var iTop = 0;
var clientHeight = 0;
var iIntervalId = null;
var itemsSize = 0;
var pageNo = 1;   // 当前页数,默认设为第 1 页
var pageSize = 4; // 每页显示的数量

getPageHeight();

// 添加定时检测事件,每2秒检测一次
iIntervalId = setInterval("_onScroll();", 2000);

// 取得当前页面显示所占用的高度
function getPageHeight() {
  if(document.body.clientHeight && document.documentElement.clientHeight) {  
    clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight : document.documentElement.clientHeight;          
  } else {  
    clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight : document.documentElement.clientHeight;      
  }

  iHeight = Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
}

// 调用ajax取服务端数据
function show() {
  pageNo++;

  $.ajax({
    url: 'img.php?p='+pageNo+'&r='+Math.random(),
    type: 'GET',
    dataType: 'text',
    timeout: 4000,
	beforeSend: showLoadingImg,
    error: showFailure,
    success: showResponse
  });
}

function showLoadingImg() {
  $('#showmore').html('<a class="handle" href="javascript:show()"><img src="images_test/loading.gif" height="32px" />显示更多结果</a>');
}

function showFailure() {
  $('#showmore').html('<font color=red> 获取查询数据出错 </font>');
}

// 根据ajax取出来的json数据转换成html
function showResponse(responseData) {
  var returnjson = eval("("+responseData+")");
  itemsSize = returnjson.items.length;

  var nextpagehtml = '';
  var pageOffset = (pageNo-1)*pageSize + 1;
  for(i=0; i<itemsSize; i++) {
    nextpagehtml +=	'<ul class="item">';
    nextpagehtml +=	'<li class="i_thumb"><a href="http://www.xuekaifa.com" target="_blank" title="'+ returnjson.items[i].name +'"><img src="'+ returnjson.items[i].pic +'" alt="'+ returnjson.items[i].name +'" /></a></li>';
    nextpagehtml +=	'<li class="i_title"><span class="order">'+ (pageOffset + i) +'</span><a href="http://www.xuekaifa.com" target="_blank" title="'+ returnjson.items[i].name +'">'+ returnjson.items[i].name +'</a></li>';			
						
    nextpagehtml +=	'</ul>';
  }
  nextpagehtml += '<div class="clear"></div>';
  $('#items').html($('#items').html() + nextpagehtml);

  // 当前页码数小于3页时继续显示更多提示框
  if(pageNo < 3) {
    $('#showmore').html('<a class="handle" href="javascript:show()">显示更多结果</a>');
  } else {
    clearInterval(iIntervalId);
    $('#showmore').hide();
  }
}

// 判断滚动条是否到达底部
function reachBottom() {
  var scrollTop = 0;
  if(document.documentElement && document.documentElement.scrollTop) {  
    scrollTop = document.documentElement.scrollTop;  
  } else if (document.body) {  
    scrollTop = document.body.scrollTop;  
  }
  if((scrollTop > 0) && (scrollTop + clientHeight == iHeight)) {
    return true;  
  } else {  
    return false; 
  }
}

// 检测事件,检测滚动条是否接近或到达页面的底部区域,0.99是为了更接近底部时
function _onScroll() {
  iTop = document.documentElement.scrollTop + document.body.scrollTop;
  getPageHeight();
  if(((iTop+clientHeight)>parseInt(iHeight*0.99))||reachBottom()) {
    if(pageNo >= 3) {
      clearInterval(iIntervalId);
      $('#showmore').hide();
      return;
    }
    show();
  }
};
</script>

</body>
</html>


分享到:
评论

相关推荐

    jQuery实现图片动态加载效果

    在实现图片动态加载时,我们主要利用jQuery的事件监听和AJAX异步请求功能。 1. **基础结构**:创建一个HTML页面,包含一个用于展示图片的容器,例如`&lt;div id="waterfall"&gt;&lt;/div&gt;`。这个容器可以是瀑布流布局,便于...

    jquery图片预加载

    **jQuery图片预加载技术详解** 在网页开发中,图片预加载是一种优化用户体验的重要技术,尤其在Web和移动端,用户往往期望页面能快速显示并流畅运行。`jQuery`库以其简洁的API和强大的功能,成为实现图片预加载的...

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

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

    jquery 图片延迟加载

    **jQuery图片延迟加载技术详解** 在网页设计中,图片往往是页面加载速度的主要影响因素,尤其当页面包含大量图片时,用户可能需要等待较长时间才能看到完整的内容。为了解决这个问题,"图片延迟加载"(Lazy Load)...

    jquery.lazyload图片预加载效果 jquery预加载

    你可以下载并运行这个示例,观察预加载图片在滚动过程中的动态加载过程,更好地理解其工作原理和使用方法。 总之,jQuery LazyLoad是一个强大的图片预加载工具,通过它我们可以有效地提升网页性能,优化用户体验。...

    jQuery插件(演示示例)

    通过jQuery,我们可以轻松地添加一个浮动的放大镜区域,当鼠标移动到图片上时,该区域会显示放大的图像部分。这涉及到CSS样式设计、JavaScript事件监听以及动态修改元素的样式属性,如宽度、高度和背景图像位置。 ...

    jquery 动态示例

    18. jQuery图片插件之鼠标放在图片上出现动态的hover效果插件 19. jQuery图片自动轮播淡入淡出的幻灯插件iFadeSlide 20. jQuery大气banner带时间线自动播放的焦点图轮番切换代码 21. jquery定时自动切换banner...

    jQuery图片自动添加水印插件.zip

    1. **动态添加水印**:此插件可以在图片加载完成后,自动在图片上添加水印。这避免了在图片源文件上添加水印,从而减轻了服务器负担。 2. **自定义水印内容**:用户可以根据需要设置水印的文字、颜色、大小、透明度...

    jQuery动态的图片加载插件.zip

    jQuery动态图片加载插件是一种广泛应用于网页开发中的技术,它能有效地优化网页性能,提高用户体验。在网页中,特别是含有大量图片的页面,如果一次性加载所有图片,可能会导致页面加载速度慢,用户需要等待较长的...

    jQuery实现动态给table赋值的方法示例

    此外,这个示例还展示了jQuery的一些基本用法,如选择器(如`$("#template")`)、遍历(`$.each()`)、DOM操作(`clone()`, `find()`, `text()`, `appendTo()`)等。了解和熟练掌握这些基础功能,能够帮助开发者更...

    jquery 预加载图片

    &lt;title&gt;jQuery预加载图片示例 &lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt;&lt;/script&gt; &lt;script src="jquery.preload.js"&gt; 预加载图片"&gt; $(function() { // 预加载图片 $.preload(['...

    jQuery通过分页加载图片列表代码.zip

    总的来说,这个示例提供了一种高效、用户友好的方式来展示和浏览大量图片,利用jQuery的强大功能,实现了动态加载和分页,使得网页加载更加流畅,降低了服务器压力,提升了用户体验。对于想要学习或应用类似功能的...

    jQuery无限滚动加载图片瀑布流代码

    总结来说,jQuery无限滚动加载图片瀑布流技术是结合了jQuery库、瀑布流布局和无限滚动加载的网页设计技巧,通过精心设计的插件,可以轻松地实现在网页上动态加载和展示图片,为用户提供流畅、无阻隔的浏览体验。

    jquery Loading图片延迟加载特效.zip

    总之,jQuery Loading图片延迟加载特效是一种有效的性能优化手段,它结合了jQuery的便利性和JavaScript的动态特性,实现了图片在需要时才加载,从而提升了网页加载速度和用户体验。对于图片相册类的应用,这种特效...

    jquery图片预加载+等比例缩放

    "jQuery图片预加载+等比例缩放"是一个常见的优化技术,旨在提高用户体验,确保图片以最佳方式呈现。本篇将详细介绍这两个概念以及如何在实际项目中实现它们。 ### 一、jQuery图片预加载 **1. 为什么要进行图片预...

    精美的jQuery图片墙示例代码

    本教程将详细讲解基于jQuery实现的"精美的jQuery图片墙示例代码",该示例代码能为网页增添动态、交互性的图片展示效果。 首先,我们需要了解jQuery的基本用法。jQuery通过"$"符号作为其主要的入口点,用于选择DOM...

    jQuery+EasyUI开发示例(附源码)

    在“jQuery+EasyUI 开发示例(附源码)”这个资源中,你将找到实际的代码实例,这些示例展示了如何结合使用这两个库来创建功能丰富的 Web 应用。通过学习和分析这些源码,你可以了解如何组织代码结构,如何调用 API...

    jQuery动态图片加载代码.zip

    这个"jQuery动态图片加载代码.zip"压缩包提供了一个实用且美观的解决方案,适合网页设计师和前端开发者使用。下面我们将详细探讨jQuery动态加载图片的原理、实现方式以及与CSS特效的结合。 jQuery是一个广泛使用的...

    头像选择功能基于jQuery下拉框图片选择示例

    这个“头像选择功能基于jQuery下拉框图片选择示例”提供了一个高效且用户友好的解决方案,使得用户能够方便地从一系列预设的头像中选取自己的代表形象。 首先,我们要理解jQuery库在其中的作用。jQuery是一个广泛...

    jquery图片延迟加载

    在压缩包`jqueryLoadingImg`中,可能包含了实现jQuery图片延迟加载的示例代码或者相关资源。具体文件内容可能包括HTML、CSS和JavaScript文件,它们共同展示了如何集成和使用jQuery延迟加载插件。 总结,jQuery图片...

Global site tag (gtag.js) - Google Analytics