Revision 47 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
/*!* 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 objectvar F = $.fancybox;//Add helper objectF.helpers.buttons = {defaults : {skipSingle : false, // disables if gallery contains single imageposition : '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:;"></a></li></ul></div>'},list : null,buttons: null,beforeLoad: function (opts, obj) {//Remove self if gallery do not have at least two itemsif (opts.skipSingle && obj.group.length < 2) {obj.helpers.buttons = false;obj.closeBtn = true;return;}//Increase top margin to give space for buttonsobj.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 ),close : this.list.find('.btnClose').click( F.close )}}//Previf (obj.index > 0 || obj.loop) {buttons.prev.removeClass('btnDisabled');} else {buttons.prev.addClass('btnDisabled');}//Next / Playif (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 buttonif (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));