1. 程式人生 > >運用fancybox的方式彈出播放視訊

運用fancybox的方式彈出播放視訊

fancybox是一款基於jquery開發的外掛

fancybox特點:

1.可以支援圖片、html、flash動畫、iframe、ajax;

2.可以自定義播放器的css樣式;

3.可以以組的形式播放;

4.如果將滑鼠滾動外掛包含進來的話還能支援滑鼠滾動來翻閱圖片;

5.fancybox播放器支援投影,更有立體的感覺;

fancybox可以彈出很多窗體,甚至一個swf格式的小視訊。但這樣的swf視訊播放的時候並沒有任何的控制元件。只能重頭看到尾,或者關閉。我們可以利用fancybox彈出div盒子的方式配合html5很快的寫出彈出一個小視訊的程式碼。首先,效果如下圖所示。點選播放的圖片,彈出播放視訊。背景自動虛化。

好了,廢話不多,下面請看具體事例

第一步,首先要把該引用的js,css引用進來(可去官網自行下載)

 <link rel="stylesheet" type="text/css" href="css/fancybox.css" />
  <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
  <script type="text/javascript" src="js/jquery.fancybox-1.3.1.pack.js"></script>
  <script 
type="text/javascript" src="js/main.js"></script>

第二步,html部分

<a id="showdiv1" href="#box1" title="測試"><img src="images/play.PNG" /></a><!--存放播放的圖示,可以是img,button等等--!>
      <div  style="display:none"><!--先讓div隱藏--!>
             <div id="box1">
                        <
video id="movie" src="movie/1.MP4" controls="controls" preload="meta"></video> </div> </div>

第三步,js部分

$(document).ready(function(){
    $("#showdiv1").fancybox({
        padding:0,
        hideOnOverlayClick:false,
        fitToView:false,
        autoSize:true,
        closeClick:true,
        openEffect:"none",
        closeEffect:"none",
        "onClosed":function(){window.document.location.reload(true)},
        centerOnScroll:true
    })
});

自己可以自行修改css,達到自己想要的效果

附上fancybox引數如下:

屬性值
預設值
描述
padding
10
播放器內邊距的值
margin
20
播放器外邊距的值
opacity
false
如果為 true,則 fancybox 在動畫改變的時候透明度可以跟著改變
modal
false
如果為 true,則 'overlayShow' 會被設成 'true','hideOnOverlayClick','hideOnContentClick','enableEscapeButton','showCloseButton' 會被設成 'false'
cyclic
false
如果為 true,相簿會迴圈播放
scrolling
'auto'
設定 overflow 的值來建立或隱藏滾動條,可以設定成 'auto','yes' 或 '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' 和 '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 後觸發