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 相关文章推荐
jQuery 性能优化指南(2)
May 21 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
Aug 27 Javascript
使用javascript实现监控视频播放并打印日志
Jan 05 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
js单页hash路由原理与应用实战详解
Aug 14 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
jquery的$().each和$.each的区别
Jan 18 jQuery
JS函数进阶之继承用法实例分析
Jan 15 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 Javascript
vue组件中传值EventBus的使用及注意事项说明
Nov 16 Javascript
使用Canvas绘制一个游戏人物属性图
Mar 25 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 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
python 负数取模运算实例
2020/06/03 Python
python中sys模块是做什么用的
2020/08/16 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
超级礼物观后感
2015/06/15 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python