static/js/buttons.js
2016-01-27 17:58:45 +03:00

62 lines
1.4 KiB
JavaScript

(function ($) {
$(document).ready(function() {
// jQuery reverse
$.fn.reverse = [].reverse;
$(document).on('mouseenter.fixedActionBtn', '.fixed-action-btn', function(e) {
var $this = $(this);
openFABMenu($this);
});
$(document).on('mouseleave.fixedActionBtn', '.fixed-action-btn', function(e) {
var $this = $(this);
closeFABMenu($this);
});
});
$.fn.extend({
openFAB: function() {
var $this = $(this);
openFABMenu($this);
},
closeFAB: function() {
closeFABMenu($this);
}
});
var openFABMenu = function (btn) {
$this = btn;
if ($this.hasClass('active') === false) {
$this.addClass('active');
$this.find('ul .btn-floating').velocity(
{ scaleY: ".4", scaleX: ".4", translateY: "40px"},
{ duration: 0 });
var time = 0;
$this.find('ul .btn-floating').reverse().each(function () {
$(this).velocity(
{ opacity: "1", scaleX: "1", scaleY: "1", translateY: "0"},
{ duration: 80, delay: time });
time += 40;
});
}
};
var closeFABMenu = function (btn) {
$this = btn;
$this.removeClass('active');
var time = 0;
$this.find('ul .btn-floating').velocity("stop", true);
$this.find('ul .btn-floating').velocity(
{ opacity: "0", scaleX: ".4", scaleY: ".4", translateY: "40px"},
{ duration: 80 }
);
};
}( jQuery ));