javascript实现支持移动设备画廊


Posted in Javascript onAugust 24, 2015

这是一款不依赖任何js框架、纯javascript实现的画廊效果。它支持移动设备手势操作,如手势触摸滑动、放大和关闭图片,它还支持PC上的键盘操作,总之它是WEB开发者不可或缺的图片画廊插件,它叫photoswipe。

展示效果图如下:

javascript实现支持移动设备画廊

查看演示 下载源码

HTML

首先加载所需的CSS和js文件。

<link rel="stylesheet" href="css/photoswipe.css"> 
<link rel="stylesheet" href="css/default-skin/default-skin.css"> 
<script src="js/photoswipe.min.js"></script> 
<script src="js/photoswipe-ui-default.min.js"></script>

以上文件大家不要担心,月光光都打包好了,您只管下载拿去用就是。

接下来,准备body里的HTML部分。我们在页面里准备图片缩略图,当点击这张缩略图时,会弹出对应的大图集,我们准备

HTML结构如下:

<div id="photos"> 
 <img src="images/s1_m.jpg" alt="Image description" /> 
 <p>图集</p> 
</div>

现在,重要的画廊展示部分将为大图展示提供架构,注意以下代码中的元素:.pswp__bg, .pswp__scroll-wrap, .pswp__container 和 .pswp__item这几个Div不可更改。

<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 
 <div class="pswp__bg"></div> 
 <div class="pswp__scroll-wrap"> 
  <div class="pswp__container"> 
   <div class="pswp__item"></div> 
   <div class="pswp__item"></div> 
   <div class="pswp__item"></div> 
  </div> 
  <div class="pswp__ui pswp__ui--hidden"> 
   <div class="pswp__top-bar"> 
    <div class="pswp__counter"></div> 
    <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> 
    <button class="pswp__button pswp__button--share" title="Share"></button> 
    <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 
    <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 
    <div class="pswp__preloader"> 
     <div class="pswp__preloader__icn"> 
      <div class="pswp__preloader__cut"> 
      <div class="pswp__preloader__donut"></div> 
      </div> 
     </div> 
    </div> 
   </div> 
   <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 
    <div class="pswp__share-tooltip"></div> 
   </div> 
   <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 
   </button> 
   <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 
   </button> 
   <div class="pswp__caption"> 
    <div class="pswp__caption__center"></div> 
   </div> 
   </div> 
  </div> 
</div>

以上HTML结构定义了画廊展示的内容、工具、方向按钮、标题说明等元素。

Javascript

我们在js里定义图集图片集合(当然也可以像demo2一样在html部分定义图片集),设置各种选项,然后通过使用new PhotoSwipe()来调用photoSwipe插件。

var openPhotoSwipe = function() { 
 var pswpElement = document.querySelectorAll('.pswp')[0]; 
 //定义图片集合 
 var items = [ 
  { 
   src: 'images/s1.jpg', 
   w: 800, 
   h: 1142 
  }, 
  { 
   src: 'images/s2.jpg', 
   w: 800, 
   h: 1142 
  } 
 ]; 
 var options = { 
  history: false, 
  focus: false, 
  showAnimationDuration: 0, 
  hideAnimationDuration: 0 
 }; 
 var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); 
 gallery.init(); 
}; 


//点击图集元素时触发调用openPhotoSwipe 

document.getElementById('photos').onclick = openPhotoSwipe;

大家可以将该款插件应用到移动项目中去,更多选项设置请参考PhotoSwipe项目地址:<https://github.com/dimsemenov/photoswipe。

以上内容就是javascript实现支持移动设备画廊的全部内容,希望大家喜欢。

Javascript 相关文章推荐
关于Jqzoom的使用心得 jquery放大镜效果插件
Apr 12 Javascript
javascript 循环调用示例介绍
Nov 20 Javascript
javascript读取xml实现javascript分页
Dec 13 Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 Javascript
js中window.open打开一个新的页面
Aug 10 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
May 28 Javascript
Centos6.8下Node.js安装教程
May 12 Javascript
node实现简单的增删改查接口实例代码
Aug 22 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
Apr 03 Javascript
JavaScript实现轮播图效果
Oct 30 Javascript
js实现带圆角的两级导航菜单效果代码
Aug 24 #Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
Aug 24 #Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 #Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 #Javascript
纯css实现窗户玻璃雨滴逼真效果
Aug 23 #Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 #Javascript
基于jquery实现导航菜单高亮显示(两种方法)
Aug 23 #Javascript
You might like
php获取地址栏信息的代码
2008/10/08 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
php面向对象重点知识分享
2019/09/27 PHP
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
python del()函数用法
2013/03/24 Python
下载给定网页上图片的方法
2014/02/18 Python
python代码制作configure文件示例
2014/07/28 Python
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python实现提取文章摘要的方法
2015/04/21 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Python列表解析配合if else的方法
2018/06/23 Python
浅谈python出错时traceback的解读
2020/07/15 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
Python中如何定义一个函数
2016/09/06 面试题
建筑公司文秘岗位职责
2013/11/29 职场文书
商场中秋节广播稿
2014/01/17 职场文书
四年大学生活的自我评价范文
2014/02/07 职场文书
房地产营销策划方案
2014/02/08 职场文书
生产车间标语
2014/06/11 职场文书
销售口号大全
2014/06/11 职场文书
感谢信怎么写
2015/01/21 职场文书
2015年人事科工作总结
2015/04/28 职场文书
党支部审查意见
2015/06/02 职场文书
详解Redis主从复制实践
2021/05/19 Redis