運用fancybox的方式彈出播放視訊
阿新 • • 發佈:2019-01-29
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> <scripttype="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 後觸發 |