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 相关文章推荐
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
May 23 Javascript
jQuery.extend 函数的详细用法
Jun 27 Javascript
jquery实现简单易懂的图片展示小例子
Nov 21 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 Javascript
ReactNative-JS 调用原生方法实例代码
Oct 08 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
Dec 08 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
Jan 10 Javascript
关于使用js算总价的问题
Jun 23 Javascript
JS实现指定区域的全屏显示功能示例
Apr 25 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
JavaScript代码异常监控实现过程详解
Feb 17 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 7.0.2 正式版发布
2016/01/08 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
Array.prototype.slice 使用扩展
2010/06/09 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
koa router 多文件引入的方法示例
2019/05/22 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
c++生成dll使用python调用dll的方法
2014/01/20 Python
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
python中wx模块的具体使用方法
2020/05/15 Python
Python 可视化神器Plotly详解
2020/12/26 Python
Java基础类库面试题
2013/09/04 面试题
行政管理专业推荐信
2013/11/02 职场文书
保安员岗位职责
2013/11/17 职场文书
学生自我评语大全
2014/04/18 职场文书
基层工作经验证明样本
2014/11/16 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技