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的鼠标拖动效果代码
May 30 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
使用JS取得焦点(focus)元素代码
Mar 22 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
学习JavaScript编程语言的8张思维导图分享
Mar 27 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
实例详解jQuery表单验证插件validate
Jan 18 Javascript
jQuery的文档处理程序详解
May 10 Javascript
vue中使用cropperjs的方法
Mar 01 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
Aug 24 Javascript
Vue使用zTree插件封装树组件操作示例
Apr 25 Javascript
Vuex 模块化使用详解
Jul 31 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中如何调用用户自定义函数
2013/08/06 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
JavaScript 创建对象
2009/07/17 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
Python 创建子进程模块subprocess详解
2015/04/08 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
Flask框架web开发之零基础入门
2018/12/10 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
python图片合成的示例
2020/11/09 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
计算机专业自荐信
2013/10/14 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
对公司合理化的建议书
2014/03/12 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python