开发JqueryMobile的时候需要用到PhotoSwipe插件来显示图片。
下载地址:
http://www.photoswipe.com/
如何让程序能动态加载图片呢,参照demo改写了一下,在初始化的时候先加载图片,然后再实现效果:
<script type="text/javascript"> var options = {}; var instance; (function(window, $, PhotoSwipe) { $(document).ready(function() { loadDatas(); }); /*初始化插件*/ function bindPhotoSwipe() { instance = $("#Gallery a").photoSwipe(options); var size = $("#Gallery a").length; // onDisplayImage instance.addEventHandler(PhotoSwipe.EventTypes.onDisplayImage, function(e) { console.log("Number of images loaded so far: "+ instance.cache.images.length); }); } /* 加载数据 */ function loadDatas(){ var url = "./action/GetPicAction.do"; var content = ''; $.get(url,function(response){ $.each(response,function(index,item){ content += "<li><a href=\""+item.fullurl+"\" rel=\"external\"><img src=\""+item.thumburl+"\" /></a></li>"; }); $("#Gallery").append(content); },"json"); bindPhotoSwipe(); }; /* 解绑 */ function detatch(){ PhotoSwipe.detatch(instance); PhotoSwipe.activeInstances = []; } }(window, window.jQuery, window.Code.PhotoSwipe)); </script>
程序看起来是没什么问题,图片也能出来,但是就是没有图片预览效果。
用firebug调试出现下面的错误:
uncaught exception: Code.PhotoSwipe.createInstance: No images to passed.
在构造插件结构的时候没加载进图片。
这个问题折腾了好久,最终想到是不是同步异步的问题,于是在发送ajax请求的时候加了一句,关掉异步请求。
$.ajaxSettings.async = false;
抱着试一试的态度,谁知结果还真实现了。
附上后台生成的json字符串:
[{"fullurl":"images/full/1.jpg","thumburl":"images/thumb/1.jpg"},{"fullurl":"images/full/2.jpg","thumburl":"images/thumb/2.jpg"},{"fullurl":"images/full/3.jpg","thumburl":"images/thumb/3.jpg"},{"fullurl":"images/full/4.jpg","thumburl":"images/thumb/4.jpg"},{"fullurl":"images/full/5.jpg","thumburl":"images/thumb/5.jpg"},{"fullurl":"images/full/6.jpg","thumburl":"images/thumb/6.jpg"},{"fullurl":"images/full/7.jpg","thumburl":"images/thumb/7.jpg"},{"fullurl":"images/full/8.jpg","thumburl":"images/thumb/8.jpg"},{"fullurl":"images/full/9.jpg","thumburl":"images/thumb/9.jpg"}]
附上页面代码:
<div data-role="page" id="pic_index" class="gallery-page"> <div data-role="header"> <h1>美女图片</h1> </div> <div data-role="content"> <ul class="gallery" id="Gallery"> </ul> </div> <div data-role="footer"> <h4>@飘渺</h4> </div> </div>
相关推荐
《PhotoSwipe异步动态加载图片方法详解》 在移动应用或网页开发中,高效地处理大量图片资源是一项挑战。PhotoSwipe是一款流行的JavaScript图片查看器插件,尤其适用于移动端,能够提供高质量的图片浏览体验。然而,...
"loading(各种AJAX加载图片)"这个主题,主要关注如何利用AJAX实现图片的异步加载,以及在加载过程中展示各种加载效果,提升用户体验。 1. **AJAX基础** - **异步性**:AJAX的核心是XMLHttpRequest对象,它使得...
在网页开发中,异步加载图片(以AJAX方式加载图片)是一种常见的优化技术,尤其在处理大量图片的场景下,比如漫画网站。通过这种方式,可以显著提高页面加载速度,提升用户体验。AJAX(Asynchronous JavaScript and ...
使用JQuery实现图片的Ajax加载,可以方便地实现图片的动态加载功能。 #### 3. jQuery基于缓存获取图片的技巧 在JQuery中,图片加载时会默认被缓存,这意味着,当同一个图片资源被多次请求时,浏览器会从本地缓存中...
本文将详细介绍如何制作这样的Ajax加载等待图片。 首先,理解Ajax加载等待图片的原理。它通常由两部分组成:视觉元素和JavaScript代码。视觉元素可以是静态图片、GIF动画或HTML5的CSS3动画,用来展示正在加载的状态...
"图片ajax动态分批加载"是一种优化策略,通过结合PHP和AJAX技术,可以实现图片的按需加载,即用户滚动到页面底部时,再动态加载下一批图片,这样既提高了页面加载速度,又不影响用户浏览。 首先,我们需要理解PHP和...
在IT领域,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于网页动态加载数据,它可以实现页面无刷新更新,提升用户体验。本话题聚焦于利用Ajax动态加载无限级树结构的复选框,这是一个常见于文件管理、...
"ajax加载数据转圈动画图片.gif"很可能就是这样一个加载指示器,当AJAX请求发送并等待服务器响应时显示,当数据加载完成则隐藏。 具体实现步骤如下: 1. **创建HTML结构**:在"date.html"中,创建一个容器元素,...
### Echarts通过Ajax实现动态数据加载 #### 一、引言 在现代Web开发中,数据可视化是一项重要的技能。Echarts作为一款强大的JavaScript图表库,因其丰富的图表类型、灵活的配置选项以及良好的交互性而备受开发者...
鼠标悬停时Ajax加载图片,不管是鼠标放在文字上或是链接上或是图片上时,会自动加载对应的图片,类似Ajax适时小图显示大图的功能。你可以将它修改为移上链接加载外部页面,可以网址,但必须指定一个页面名称,比如:...
在本项目"ajax,servlet动态加载dtree"中,我们看到的是利用Ajax技术和Servlet实现dtree(一种树形菜单控件)的动态加载。这个项目可能是一个文件管理系统或者目录浏览应用,其中dtree用于展示文件或目录结构,而...
在实际项目中,C#作为服务器端语言,可能会生成动态内容供Ajax请求处理,或者提供图片延迟加载所需的服务器端数据。例如,C# ASP.NET可以构建Web API服务,返回JSON或HTML片段,供前端jQuery进行Ajax请求。 综上所...
在本项目中,我们利用jQuery Masonry插件来实现瀑布流效果,并结合Ajax技术实现动态加载数据,进一步提升用户体验。 jQuery Masonry插件是由David DeSandro开发的一个JavaScript库,它的主要功能是将网页中的元素以...
**Ajax 动态加载技术详解** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。这种技术的核心在于利用JavaScript异步地与服务器进行通信,从而提高了用户体验,...
结合Ajax的跨域能力,我们可以实现从远程服务器获取图片资源,同时保证加载顺序,避免一次性加载大量图片导致页面加载速度变慢。本文将详细解释如何实现"ajax跨域懒加载图片"这一技术。 首先,我们需要了解什么是...
本集合包含两个特定的jQuery插件,用于实现AJAX投票功能和AJAX动态加载广告,极大地提高了用户体验和页面交互性。 ### 1. AJAX投票功能 在`Rating.asp`、`rating.css`和`Rating.html`文件中,我们可以找到一个基于...
"使用Ajax动态加载JSON文件"这个主题就涉及到了两个核心概念:Ajax和JSON。Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。而JSON(JavaScript Object ...
AJAX加载图标,顾名思义,是在进行AJAX请求时显示的一种视觉反馈,通常是一个动态的或者静态的图形,用来告知用户系统正在进行后台操作,请求尚未完成。这些图标设计得既美观又具有功能性,可以是简单的旋转圆圈、小...
在本项目中,"ajax加载数据模板"显然关注的是如何在SSM(Spring、SpringMVC、MyBatis)框架下利用Ajax实现数据的动态加载、增删改查以及分页功能。 首先,我们需要理解SSM框架。Spring是一个全面的企业级应用开发...
如果需要在特定的服务器端事件中动态控制加载面板的显示,可以使用`RadAjaxManager`的`BeginAjaxRequest`和`EndAjaxRequest`事件。 总的来说,通过Telerik Ajax加载,开发者能够轻松地在ASP.NET应用程序中创建高效...