Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
103.117.180.2
/
dist
/
js
:
jquery.fastconfirm.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/* * jQuery Fast Confirm * version: 1.1.1 (2010-11-11) * @requires jQuery v1.3.2 or later * * Examples and documentation at: http://blog.pierrejeanparra.com/jquery-plugins/fast-confirm/ * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ ;(function($) { $.fn.fastConfirm = function(options) { var params; if (!this.length) { return this; } $.fastConfirm = { defaults: { position: 'bottom', offset: {top: 0, left: 0}, zIndex: 10000, questionText: "Are you sure?", proceedText: "Yes", cancelText: "No", fastConfirmClass: "fast_confirm", onProceed: function(trigger) {}, onCancel: function(trigger) {} } }; params = $.extend($.fastConfirm.defaults, options || {}); return this.each(function() { var offset, topOffset, leftOffset, trigger = this, $confirmYes = $('<button class="' + params.fastConfirmClass + '_proceed">' + params.proceedText + '</button>'), $confirmNo = $('<button class="' + params.fastConfirmClass + '_cancel">' + params.cancelText + '</button>'), $confirmBox = $('<div class="' + params.fastConfirmClass + '"><div class="' + params.fastConfirmClass + '_arrow_border"></div><div class="' + params.fastConfirmClass + '_arrow"></div>' + params.questionText + '<br/></div>'), $arrow = $('div.' + params.fastConfirmClass + '_arrow', $confirmBox), $arrowBorder = $('div.' + params.fastConfirmClass + '_arrow_border', $confirmBox), confirmBoxArrowClass, confirmBoxArrowBorderClass, offset = $(trigger).offset(); if (!$(trigger).data('fastconfirm_binded')) { // Register actions $confirmYes.click(function() { params.onProceed(trigger); $(trigger).removeData('fastconfirm_binded'); $(this).closest('div.' + params.fastConfirmClass).remove(); }); $confirmNo.click(function() { params.onCancel(trigger); $(trigger).removeData('fastconfirm_binded'); $(this).closest('div.' + params.fastConfirmClass).remove(); }); // Append the confirm box to the body. It will not be visible as it is off-screen by default. Positionning will be done at the last time $confirmBox.append($confirmYes).append($confirmNo); $('body').append($confirmBox); // Calculate absolute positionning depending on the trigger-relative position switch (params.position) { case 'top': confirmBoxArrowClass = params.fastConfirmClass + '_bottom'; confirmBoxArrowBorderClass = params.fastConfirmClass + '_bottom'; $arrow.addClass(confirmBoxArrowClass).css('left', $confirmBox.outerWidth()/2 - $arrow.outerWidth()/2); $arrowBorder.addClass(confirmBoxArrowBorderClass).css('left', $confirmBox.outerWidth()/2 - $arrowBorder.outerWidth()/2); topOffset = offset.top - $confirmBox.outerHeight() - $arrowBorder.outerHeight() + params.offset.top; leftOffset = offset.left - $confirmBox.outerWidth()/2 + $(trigger).outerWidth()/2 + params.offset.left; break; case 'right': confirmBoxArrowClass = params.fastConfirmClass + '_left'; confirmBoxArrowBorderClass = params.fastConfirmClass + '_left'; $arrow.addClass(confirmBoxArrowClass).css('top', $confirmBox.outerHeight()/2 - $arrow.outerHeight()/2); $arrowBorder.addClass(confirmBoxArrowBorderClass).css('top', $confirmBox.outerHeight()/2 - $arrowBorder.outerHeight()/2); topOffset = offset.top + $(trigger).outerHeight()/2 - $confirmBox.outerHeight()/2 + params.offset.top; leftOffset = offset.left + $(trigger).outerWidth() + $arrowBorder.outerWidth() + params.offset.left; break; case 'bottom': confirmBoxArrowClass = params.fastConfirmClass + '_top'; confirmBoxArrowBorderClass = params.fastConfirmClass + '_top'; $arrow.addClass(confirmBoxArrowClass).css('left', $confirmBox.outerWidth()/2 - $arrow.outerWidth()/2); $arrowBorder.addClass(confirmBoxArrowBorderClass).css('left', $confirmBox.outerWidth()/2 - $arrowBorder.outerWidth()/2); topOffset = offset.top + $(trigger).outerHeight() + $arrowBorder.outerHeight() + params.offset.top; leftOffset = offset.left - $confirmBox.outerWidth()/2 + $(trigger).outerWidth()/2 + params.offset.left; break; case 'left': confirmBoxArrowClass = params.fastConfirmClass + '_right'; confirmBoxArrowBorderClass = params.fastConfirmClass + '_right'; $arrow.addClass(confirmBoxArrowClass).css('top', $confirmBox.outerHeight()/2 - $arrow.outerHeight()/2); $arrowBorder.addClass(confirmBoxArrowBorderClass).css('top', $confirmBox.outerHeight()/2 - $arrowBorder.outerHeight()/2); topOffset = offset.top + $(trigger).outerHeight()/2 - $confirmBox.outerHeight()/2 + params.offset.top; leftOffset = offset.left - $confirmBox.outerWidth() - $arrowBorder.outerWidth() + params.offset.left; break; } // Make the confirm box appear right where it belongs $confirmBox.css({ top: topOffset, left: leftOffset, zIndex: params.zIndex }); $(trigger).data('fastconfirm_binded', true); } }); }; })(jQuery);