最近做一个移动端图片页面,母页是一系列预览小图,点击某张小图后,需要满屏显示大图,并可以左右滑动来浏览其他大图;网上找了一下,找到了一个fotorama组件,感觉用起来效果不错,记录一下使用心得;
先从http://www.fotorama.io/set-up/下载fotorama包,在页面上导入CSS和JS,另外,fotorama依赖jquery框架,需要把jquery也引入进来;
在head中引入css:
<link href="js/fotorama.css" type="text/css" rel="stylesheet">
在body中引入js:
<script src="js/jquery-1.11.2.min.js"></script> <script src="js/fotorama.js"></script>
页面放入预览小图:
<div class="box"> <div class="pic"><img src="images/1_s.jpg" /></div> <div class="pic"><img src="images/2_s.jpg" /></div> <div class="pic"><img src="images/3_s.jpg" /></div> <div class="pic"><img src="images/4_s.jpg" /></div> <div class="pic"><img src="images/5_s.jpg" /></div> <div class="pic"><img src="images/6_s.jpg" /></div> </div> <div class="fotorama" data-max-width="100%"></div>
其中<div class="fotorama" data-max-width="100%"></div>是组件显示大图使用的;
然后调用组件的方法进行大图显示:
<script> //原始图片数据 var images=[{url:'images/1_b.jpg',thumb:'images/1_s.jpg',title:'1.jpg'},{url:'images/2_b.jpg',thumb:'images/2_s.jpg',title:'2.jpg'},{url:'images/3_b.jpg',thumb:'images/3_s.jpg',title:'3.jpg'}, {url:'images/4_b.jpg',thumb:'images/4_s.jpg',title:'4.jpg'},{url:'images/5_b.jpg',thumb:'images/5_s.jpg',title:'5.jpg'},{url:'images/6_b.jpg',thumb:'images/6_b.jpg',title:'6.jpg'}]; $(function(){ $(".pic").children("img").each(function(){ var img = $(this); $(this).on("click",function(){ var thisImg = img.attr("src"); fotoramaImages(thisImg); }); }); }); function fotoramaImages(thisImg){ var data = []; var startindex = 0; //组装数据 if(images){ for(var i=0;i<images.length;i++){ var thumb = images[i].thumb; var curImg = images[i].url; var item = { img:curImg, thumb:thumb,full:curImg, id:i,caption:''}; data[i] = item; if(thumb == thisImg){ startindex = i; } } } //当前大图浏览到第几张(图片序号) var fotoramastartindex = parseInt(startindex); var fotorama = $('.fotorama').on('fotorama:show', function (e, fotorama) { //使用show回调函数显示图片总张数和当前第几张 var showIndex = (parseInt(fotorama.activeIndex)+1) +"/"+fotorama.size; var posDiv = $('#posDiv'); if(posDiv.length>0){ posDiv.empty().append(showIndex); }else{ $('.fotorama').append('<div id="posDiv">'+showIndex+'</div>') } }) .fotorama({startindex:fotoramastartindex,activeIndex:fotoramastartindex,data: data,allowfullscreen : true,nav:false}) .data('fotorama'); //初始化的activeIndex无用,不知道怎么回事,只能通过下面这个函数设置初始图片 fotorama.show({index:fotoramastartindex,time:20}); //点击即使用全屏浏览 fotorama.requestFullScreen(); //取消全屏即关闭大图 $('.fotorama').on('fotorama:fullscreenexit',function(e){ e.stopPropagation();//去掉事件冒泡 fotorama.destroy();//销毁组件 $('.fotorama').empty();//置空显示容器 }); } </script> 源代码见原文,原文转自:http://it.5yun.com.cn/html/y2015/m07/120.html
相关推荐
【标题】:“源自开源的甘特图组件jquery gantt 可拖拽” 【知识点详解】 在Web开发领域,甘特图是一种广泛使用的图表类型,它能够清晰地展示项目的时间线和进度,帮助管理者和团队成员了解任务的开始时间、结束...
在Web开发中,图片新闻轮播组件是常见的功能,用于展示多张图片或新闻标题,以节省页面空间并增强用户体验。本篇将深入讲解基于jQuery实现的一个高效、灵活且美观的图片新闻轮播插件。 首先,jQuery是一个广泛使用...
3. **jQuery Mobile**:如果组件包包含jQuery Mobile,那么它将专门针对移动设备优化,提供触摸友好的界面和组件,适合开发响应式或移动优先的Web应用。 4. **jQuery UI**:jQuery UI是一个官方的插件,提供了大量...
在JavaScript和jQuery的世界里,图形表格类特效与组件是网页交互设计中不可或缺的一部分。它们能够以生动、直观的方式展示数据,提升用户体验。本资源包含13个不同的组件,旨在帮助开发者构建具有动态效果和视觉吸引...
它通过自动的页面增强、触控友好的组件和可定制的主题系统,简化了移动 Web 应用的开发流程。 ### 2. 主要组件 jQuery Mobile 提供了许多预定义的 UI 组件,如: - **导航栏(Navbar)**:用于创建顶部或底部的...
jQuery Mobile 是基于 jQuery 库的一个框架,专门用于构建响应式、触摸友好的移动 Web 应用。它提供了丰富的 UI 组件,如按钮、滑块、表单和导航栏等,旨在简化移动应用的开发过程。在图片放大技术中,jQuery Mobile...
在Web开发中,页面滚动是常见的用户交互方式,而jQuery的自定义滚动组件能够帮助开发者实现更加丰富和个性化的滚动效果,提升用户体验。本篇将详细介绍如何利用jQuery实现这样的组件,以及它所支持的各种功能。 ...
总之,jQuery Mobile为开发者提供了构建移动应用的强大工具,它简化了跨平台开发,通过统一的API和丰富的UI组件,使得移动应用开发更加高效。结合案例学习,可以更好地掌握其精髓,从而在实际项目中发挥出jQuery ...
本文将深入探讨基于jQuery实现的前端Web相册组件,介绍其原理、功能以及实现方法。 首先,jQuery是一款广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。在构建Web相册组件时,jQuery...
模态框内可以放置大图,而模态的关闭按钮可以实现返回原页面的功能。 6. **响应式设计**:为了保证在不同设备上都有良好的用户体验,图片查看器需要考虑响应式布局。可以利用Bootstrap的栅格系统和媒体查询,确保在...
综上所述,C# Web开发中漂亮的界面和组件设计涉及多方面的技术,包括但不限于使用ASP.NET框架、Bootstrap和CSS进行布局,利用JavaScript和jQuery实现交互效果,以及通过自定义CSS样式来优化按钮、表单和时间显示等...
它是一个轻量级、触控优化的前端框架,用于构建跨平台的移动Web应用。它基于HTML5、CSS3和JavaScript,提供了丰富的组件和样式,简化了移动应用的开发过程。 对于图片自适应,我们可以使用CSS3的`max-width`属性。...
总的来说,“jQuery H5移动端图片预览插件”是移动Web开发中一个实用的工具,它结合了jQuery的便利性和H5的强大力量,为移动端图片预览提供了一套完整的解决方案。通过学习和使用这类插件,开发者能够快速提升项目的...
在"jQuery Mobile移动新闻网站"中,开发者利用jQuery Mobile的组件和API来构建交互式的新闻页面,如滑动切换的新闻板块、可扩展的菜单和触控优化的图片滑块。jQuery Mobile还提供了丰富的主题样式,可以帮助快速定制...
jQuery Mobile、HTML5和CSS3是创建交互式、响应式和高性能移动Web应用的关键技术。本文将深入探讨这些技术,并结合项目中的实际应用,来阐述如何利用它们开发出令人满意的移动体验。 首先,jQuery Mobile是一个轻量...
jQuery Mobile 是一个轻量级、触控优化的 JavaScript 框架,专为移动设备上的 Web 应用程序设计。它构建在 jQuery 和 jQuery UI 的基础之上,提供了一套完整的组件和接口,用于创建响应式、触摸友好的移动界面。在 ...
对于移动开发而言,JQuery Mobile 提供了一套专为触摸设备优化的组件和样式,极大地提高了开发效率和用户体验。 Java Web,特别是Servlet和JSP(JavaServer Pages),是后端开发的重要工具。Servlet是Java编写...
在这个流程设计器中,jQuery UI的拖放功能用于实现元素的自由移动,使得用户可以轻松调整流程图中的各个步骤。 3. **拖拽功能**: 拖拽功能是通过结合使用jsPlumb和jQuery UI实现的。首先,jQuery UI的draggable...
它提供了统一的触摸事件处理、页面过渡效果和可自定义的主题系统,使得开发者能够快速构建跨平台的移动Web应用。 在jQuery Mobile中集成地图,我们通常会利用第三方地图API,如Google Maps API、高德地图API或者...
总之,jQuery Mobile 是一个功能丰富的移动Web开发框架,它极大地简化了开发过程,使得开发者能够快速构建具有良好用户体验的跨平台移动应用。但是,随着技术的发展,选择最新的版本或探索其他现代框架可能是更优的...