javascript实现支持移动设备画廊_javascript技巧

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

展示效果图如下:

查看演示 下载源码

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移动设备
viewpager实现3d画廊、android 实现画廊效果、viewpager实现画廊、recyclerview实现画廊、android 3d画廊 实现,以便于您获取更多的相关知识。

时间: 2024-08-05 05:36:18

javascript实现支持移动设备画廊_javascript技巧的相关文章

javascript常用函数(2)_javascript技巧

文章主要内容列表: 16. 除去数组重复项 17. 操作cookie 18. 判断浏览器类型 19. 判断是否开启cookie 20. 断是否开启JavaScript 21. JavaScript 打字机效果 22. 简单打印 23. 禁止右键 24. 防止垃圾邮件 25.复制(javaeye flash版) 26. 阻止冒泡事件或阻止浏览器默认行为 27. 关闭或跳转窗口时提示 28. 用javascript获取地 址栏参数 29. 计算停留的时间 30. div为空,只有背景时,背景自动增高

浅谈JavaScript 覆盖原型以及更改原型_javascript技巧

覆盖原型 //囚犯示例 //1.定义原型对象 var proto = { sentence : 4, //监禁年限 probation: 2 //缓刑年限 }; //2.定义原型对象的构造函数 var Prisoner = function(name, id) { this.name = name; this.id = id; }; //3.将构造函数关联到原型 Prisoner.prototype = proto; //4.实例化对象--采用工厂函数实例化对象 var makePrisoner

JavaScript脚本性能优化注意事项_javascript技巧

循环是很常用的一个控制结构,大部分东西要依靠它来完成,在JavaScript中,我们可以使用for(;;),while(),for(in)三种循环,事实上,这三种循环中for(in)的效率极差,因为他需要查询散列键,只要可以就应该尽量少用.for(;;)和while循环的性能应该说基本(平时使用时)等价. 而事实上,如何使用这两个循环,则有很大讲究.我在测试中有些很有意思的情况,见附录.最后得出的结论是: 如果是循环变量递增或递减,不要单独对循环变量赋值,应该在它最后一次读取的时候使用嵌套的++

浅析在javascript中创建对象的各种模式_javascript技巧

最近在看<javascript高级程序设计>(第二版) javascript中对象的创建 •工厂模式 •构造函数模式 •原型模式 •结合构造函数和原型模式 •原型动态模式 面向对象的语言大都有一个类的概念,通过类可以创建多个具有相同方法和属性的对象.虽然从技术上讲,javascript是一门面向对象的语言,但是javascript没有类的概念,一切都是对象.任意一个对象都是某种引用类型的实例,都是通过已有的引用类型创建:引用类型可以是原生的,也可以是自定义的.原生的引用类型有:Object.A

深入浅析JavaScript中的作用域和上下文_javascript技巧

javascript中的作用域(scope)和上下文(context)是这门语言的独到之处,这部分归功于他们带来的灵活性.每个函数有不同的变量上下文和作用域.这些概念是javascript中一些强大的设计模式的后盾.然而这也给开发人员带来很大困惑.下面全面揭示了javascript中的上下文和作用域的不同,以及各种设计模式如何使用他们. 上下文(Context)和作用域(Scope) 首先需要知道的是,上下文和作用域是两个完全不同的概念.多年来,我发现很多开发者会混淆这两个概念(包括我自己),

详解JavaScript中的构造器Constructor模式_javascript技巧

构造器模式简单描述(看图): 构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading.构造器用于创建特定类型对象--准备好对象以备使用,同时接收构造器可以使用的参数,以在第一次创建对象时,设置成员属性和方法的值 1.创建对象 新对象创建的两种方法 var newObject={}; var newObject=new object();//object 构造器的简洁记法 2.基本Constructor Javascript不支持类的情况下对象

JavaScript代码里的判断小结_javascript技巧

比较判断 比较判断是比较两个值,返回一个布尔值,表示是否满足比较条件.JavaScript一共提供了8个比较运算符,这里主要说一下严格相等运算符和相等运算符的区别 严格相等运算符=== 判断 返回 两个值类型不同 false 两个值都是null/undefined/true/false true 两个值其中之一为NaN false 两个值都为数值且值相等 true 两个值都为字符串,且值相等 true 两个值都指向同一个引用类型 true 1 === "1" // false true

JavaScript 检测浏览器和操作系统的脚本_javascript技巧

Web编程中,识别用户的浏览器以及操作系统非常重要.因为它们对HTML和JavaScript的支持程度有所不同.一般应用在系统登陆页面或者首页中. 具体应用如下: 复制代码 代码如下: <html> <head> <title>Login</title> <script type="text/javascript" src="detect.js"></script> <script typ

Javascript 字符串模板的简单实现_javascript技巧

这是源于两年前,当我在做人生中第一个真正意义上的网站时遇到的一个问题 该网站采用前后端分离的方式,由后端的 REST 接口返回 JSON 数据,再由前端渲染到页面上. 同许多初学 Javascript 的菜鸟一样,起初,我也是采用拼接字符串的形式,将 JSON 数据嵌入 HTML 中.开始时代码量较少,暂时还可以接受.但当页面结构复杂起来后,其弱点开始变得无法忍受起来: 书写不连贯.每写一个变量就要断一下,插入一个 + 和 ".十分容易出错. 无法重用.HTML 片段都是离散化的数据,难以对其中