Вход Регистрация
Файл: vk/fancybox/source/helpers/jquery.fancybox-buttons.js
Строк: 119
<?php
/*!
 * Buttons helper for fancyBox
 * version: 1.0.5 (Mon, 15 Oct 2012)
 * @requires fancyBox v2.0 or later
 *
 * Usage:
 *     $(".fancybox").fancybox({
 *         helpers : {
 *             buttons: {
 *                 position : 'top'
 *             }
 *         }
 *     });
 *
 */
(function ($) {
    
//Shortcut for fancyBox object
    
var F = $.fancybox;

    
//Add helper object
    
F.helpers.buttons = {
        
defaults : {
            
skipSingle : false, // disables if gallery contains single image
            
position   : 'top', // 'top' or 'bottom'
            
tpl        : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:jQuery.fancybox.close();"></a></li></ul></div>'
        
},

        list : 
null,
        
buttons: null,

        
beforeLoad: function (opts, obj) {
            
//Remove self if gallery do not have at least two items

            
if (opts.skipSingle && obj.group.length < 2) {
                
obj.helpers.buttons = false;
                
obj.closeBtn = true;

                return;
            }

            
//Increase top margin to give space for buttons
            
obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
        },

        
onPlayStart: function () {
            if (
this.buttons) {
                
this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
            }
        },

        
onPlayEnd: function () {
            if (
this.buttons) {
                
this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
            }
        },

        
afterShow: function (opts, obj) {
            var 
buttons = this.buttons;

            if (!
buttons) {
                
this.list = $(opts.tpl).addClass(opts.position).appendTo('body');

                
buttons = {
                    
prev   : this.list.find('.btnPrev').click( F.prev ),
                    
next   : this.list.find('.btnNext').click( F.next ),
                    
play   : this.list.find('.btnPlay').click( F.play ),
                    
toggle : this.list.find('.btnToggle').click( F.toggle )
                }
            }

            
//Prev
            
if (obj.index > 0 || obj.loop) {
                
buttons.prev.removeClass('btnDisabled');
            } else {
                
buttons.prev.addClass('btnDisabled');
            }

            
//Next / Play
            
if (obj.loop || obj.index < obj.group.length - 1) {
                
buttons.next.removeClass('btnDisabled');
                
buttons.play.removeClass('btnDisabled');

            } else {
                
buttons.next.addClass('btnDisabled');
                
buttons.play.addClass('btnDisabled');
            }

            
this.buttons = buttons;

            
this.onUpdate(opts, obj);
        },

        
onUpdate: function (opts, obj) {
            var 
toggle;

            if (!
this.buttons) {
                return;
            }

            
toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');

            
//Size toggle button
            
if (obj.canShrink) {
                
toggle.addClass('btnToggleOn');

            } else if (!
obj.canExpand) {
                
toggle.addClass('btnDisabled');
            }
        },

        
beforeClose: function () {
            if (
this.list) {
                
this.list.remove();
            }

            
this.list    = null;
            
this.buttons = null;
        }
    };

}(
jQuery));
?>
Онлайн: 2
Реклама