【jquery】fancybox 是一款優秀的 jquery 彈出層展示插件


今天給大家分享一款優秀的 jquery 彈出層展示插件 fancybox。它除了能夠展示圖片之外,還可以展示 flash、iframe 內容、html 文本以及 ajax 調用,我們可以通過 css 來自定義外觀。

fancybox 特點:

  1. 可以支持圖片、html 文本、flash 動畫、iframe 以及 ajax 的支持;
  2. 可以自定義播放器的 css 樣式;
  3. 可以以組的形式進行播放;
  4. 如果將鼠標滾動插件(mouse wheel plugin)包含進來的話 fancybox 還能支持鼠標滾輪滾動來翻閱圖片;
  5. fancybox 播放器支持投影,更有立體的感覺。

fancybox 使用方法:

首先需要引入 jquery 核心庫和 fancybox 插件:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="/fancybox/jquery.fancybox-1.3.4.pack.js"></script>

如果需要用 transition(一些動畫效果)你還需要引入以下 js:

<script src="/fancybox/jquery.easing-1.4.pack.js"></script>

如果需要支持鼠標滾輪滾動效果你還需要引入以下 js:

<script src="/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>

然后引入樣式表:

<link rel="stylesheet" href="/fancybox/jquery.fancybox-1.3.4.css"/>

之后在頁面上添加一個 a 標簽:

<a id="single_image" href="image_big.jpg"><img src="image_small.jpg" alt=""/></a>

其中 a 標簽的 href 中的圖片就是我們需要彈層顯示的大圖。

最后調用 fancybox 方法:

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

當然這只能顯示一張圖片,有時候我們可能需要做個相冊之類的多張圖片,那么可以用 rel 屬性來創建圖片組(也就是 fancybox 特點的第三點),如下代碼:

<a class="grouped_elements" rel="group1" href="image_big_1.jpg"><img src="image_small_1.jpg" alt=""/></a>
<a class="grouped_elements" rel="group1" href="image_big_2.jpg"><img src="image_small_2.jpg" alt=""/></a>

調用方法也很簡單:

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

fancybox 參數:

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 后觸發

 

官網地址:http://fancybox.net/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM