天天看点

又发现一款好用的popup插件(jquery.fancybox.js)

由于在项目中,遇到一个场景,就是用户填写的认证信息中,有一个关于扫描件的图片,由于页面太小的原因,无法让审核人员看清楚图片的详情,一开始的思路是,在点击图片的时候,获取到图片的src,然后通过悬浮一个div出来.把选中的图片放大...这是一种办法.也实现了,但是不是很美观..后经同时推荐,发现了这款插件fancybox.

以下摘自:http://www.php100.com/html/program/jquery/2013/0905/5951.html

FancyBox是jquery一款不错的弹出窗口插件,下面我来给各位同介绍介绍有需要了解的同学可参考。

FancyBox使用方法:

1、引入jquery核心库和Fancybox插件库

        <link rel="stylesheet" href="source/jquery.fancybox.css" target="_blank" rel="external nofollow" type="text/css" media="screen">    //fancybox的样式文件

        <script type="text/javascript" src="lib/jquery-1.9.0.min.js"></script>                                        //jquery核心文件

        <script type="text/javascript" src="source/jquery.fancybox.js"></script>                                  //fancybox核心文件

以下为先关的可选部分插件

        <script type="text/javascript" src="/fancybox/jquery.easing.js"></script>       //一些浮出的动画效果

        <script type="text/javascript" src="/fancybox/jquery.mousewheel.js"></script>   //鼠标滚动转换图片的效果

2.关于图片上的使用

        <a id="single_image" href="image_big.jpg" target="_blank" rel="external nofollow" ><img src="image_small.jpg" alt="原始图片"></a>

3.关于普通文本的使用

        <a id="inline" href="#data" target="_blank" rel="external nofollow" >This shows content of element who has id="data"</a>

        <div style="display: none;">

            <div id="data">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>

        </div>

4.关于iframe的使用

        <a href="http://www.example?iframe">This goes to iframe</a>      or

        <a class="iframe" href="http://www.example" target="_blank" rel="external nofollow" >This goes to iframe</a>

5.关于ajax是使用

        <a href="http://www.example/data.php" target="_blank" rel="external nofollow" >This takes content using ajax</a>

6.关于一组图片.我们可以使用rel来创建相册轮播效果

    <a class="grouped_elements" rel="group1" href="image_big_1.jpg" target="_blank" rel="external nofollow" ><img src="image_small_1.jpg" alt=""></a>

    <a class="grouped_elements" rel="group1" href="image_big_2.jpg" target="_blank" rel="external nofollow" ><img src="image_small_2.jpg" alt=""></a>    

    <a class="grouped_elements" rel="group2" href="image_big_3.jpg" target="_blank" rel="external nofollow" ><img src="image_small_3.jpg" alt=""></a>

    <a class="grouped_elements" rel="group2" href="image_big_4.jpg" target="_blank" rel="external nofollow" ><img src="image_small_4.jpg" alt=""></a>

================================================================================

以下为js部分的使用

<script type="text/javascript">

            $(function(){

                $("#single_image").fancybox();

                $(".grouped_elements").fancybox();

            });

</script>

Fancybox的API和配置选项说明

属性名 默认值 简要说明
padding 10 浏览框内边距,和css中的padding一个意思
margin 20 浏览框外边距,和css中的margin一个意思
opacity false 如果为true,则fancybox在动画改变的时候透明度可以跟着改变
modal false 如果为true,则’overlayShow’ 会被设成 ‘true’ , ‘hideOnOverlayClick’, ‘hideOnContentClick’, ‘enableEscapeButton’, ‘showCloseButton’ 会被设成 ‘false’
cyclic false 如果为true,相册会循环播放
scrolling ‘auto’ 设置overflow的值来创建或隐藏滚动条,可以设置成 ‘auto’, ‘yes’, or ‘no’
width 560 设置iframe和swf的宽度,如果 ‘autoDimensions’为 ‘false’,这也可以设置普通文本的宽度
height 340 设置iframe和swf的高度,如果 ‘autoDimensions’为 ‘false’,这也可以设置普通文本的高度
autoScale true 如果为true,fancybox可以自适应浏览器窗口大小
autoDimensions true 在内联文本和ajax中,设置是否动态调整元素的尺寸,如果为true,请确保你已经为元素设置了尺寸大小
centerOnScroll false 如果为true,当你滚动滚动条时,fancybox将会一直停留在浏览器中心
ajax { }

和jquery的ajax调用选项一样

注意: ‘error’ and ‘success’ 这两个回调事件会被fancybox重写

swf {wmode: ‘transparent’} swf的设置选项
hideOnOverlayClick true 如果为true则点击遮罩层关闭fancybox
hideOnContentClick false 如果为true则点击播放内容关闭fancybox
overlayShow true 如果为true,则显示遮罩层
overlayOpacity 0.3 遮罩层的透明度(范围0-1)
overlayColor ‘#666′ 遮罩层的背景颜色
titleShow true 如果为true,则显示标题
titlePosition ‘outside’ 设置标题显示的位置.可以设置成 ‘outside’, ‘inside’ 或 ‘over’
titleFormat null 可以自定义标题的格式
transitionIn, transitionOut ‘fade’ 设置动画效果. 可以设置为 ‘elastic’, ‘fade’ 或 ‘none’
speedIn, speedOut 300 fade 和 elastic 动画切换的时间间隔, 以毫秒为单位
changeSpeed 300 切换时fancybox尺寸的变化时间间隔(即变化的速度),以毫秒为单位
changeFade ‘fast’ 切换时内容淡入淡出的时间间隔(即变化的速度)
easingIn, easingOut ‘swing’ 为 elastic 动画使用 Easing
showCloseButton true 如果为true,则显示关闭按钮
showNavArrows true 如果为true,则显示上一张下一张导航箭头
enableEscapeButton true 如果为true,则启用ESC来关闭fancybox
onStart null 回调函数,加载内容是触发
onCancel null 回调函数,取消加载内容后触发
onComplete null 回调函数,加载内容完成后触发
onCleanup null 回调函数,关闭fancybox前触发
onClosed null 回调函数,关闭fancybox后触发