Flashy.js是一款响应式jQuery Lightbox和弹出层插件。该jQuery Lightbox和弹出层插件支持图片,内联内容,iframes,以及vimeo和youtube 视频,功能非常强大。 它的特点还有:
- 支持项目计数。
- 支持移动设备的swipe事件。
- 支持预加载动画。
- 支持键盘导航,和ESC键退出。
- 支持视频自动播放。
- 支持无限循环。
使用方法
在页面中引入flashy.min.css和jquery以及jquery.flashy.min.js文件。
<link rel="stylesheet" href="css/flashy.min.css"> <script src="jquery.min.js"></script> <script src="jquery.flashy.min.js"></script>
如果你需要添加更加炫酷的切换效果,可以引入effect.css
文件。
<link rel="stylesheet" href="css/effect.css">
HTML结构
然后在页面中创建一组需要展示的内容,结构如下:
<a class="demo" href="image-big.jpg"><img src="image-small.jpg" alt="image alt"/></a> <a class="demo" data-flashy-type="video" href="https://vimeo.com/271516323">Vimeo</a> <a class="demo" data-flashy-type="video" href="https://youtu.be/dzNvk80XY9s">YouTube</a> <a class="demo" data-flashy-type="iframe" href="https://example.com/">iFrame</a> <a class="demo" data-flashy-type="inline" href="#inline">Inline</a> <div id="inline" style="display:none"> <div class="inline"> <!--内联内容--> </div> </div>
初始化插件
在页面DOM元素加载完毕之后,通过下面flashy()
方法来初始化该插件。
$(document).ready(function(){ $('.demo').flashy(); });
或者在初始化是传入配置参数:
$('.demo').flashy({ // Applied when a new item is shown showClass: 'fx-fadeIn', // Applied when a new item is hidden hideClass: 'fx-fadeOut' // Applied when a new item is shown on prev event prevShowClass: 'fx-bounceInLeft', // Applied when a new item is shown on next event nextShowClass: 'fx-bounceInRight', // Applied when the current item is hidden on prev event prevHideClass: 'fx-bounceOutRight', // Applied when the current item is hidden on next event nextHideClass: 'fx-bounceOutLeft' });
配置参数
Flashy.js插件可用的配置参数有:
$('.mixed').flashy({ // image, inline, ajax, iframe, video type: 'image', // show title title: true, // can be any CSS valid unit - px, %, and etc width: null, height: null, // enable/disable gallery mode gallery: true, // enable/disable infinite loop galleryLoop: true, // show item counter galleryCounter: true, // show prev and next navigation controls galleryPrevNext: true, // message used in the item counter. If empty, no counter will be displayed galleryCounterMessage: '[index] / [total]', // enable/disable swipe on desktop gallerySwipeDesktop: true, // enable/disable swipe on mobile devices gallerySwipeMobile: true, // set swipe threshold in px gallerySwipeThreshold: 100, // enable/disable keyboard navigation with arrows and close with ESC keyboard: true, // close lightbox via the close button or overlay click overlayClose: false, // additional css classes for customization themeClass: null, // enable/Disable video autoplay videoAutoPlay: false, // error message displayed when a content fails to load loadError: 'Sorry, an error occured while loading the content...' });
Flashy.js响应式jQuery Lightbox和弹出层插件的github地址为:https://github.com/avirtum/flashy