Skip to content

Instantly share code, notes, and snippets.

@xiaozi
Last active November 4, 2017 11:10
Show Gist options
  • Save xiaozi/8310870 to your computer and use it in GitHub Desktop.
Save xiaozi/8310870 to your computer and use it in GitHub Desktop.
js拖放
$ ->
$document = $(document)
$overlay = $('#overlayBox')
_drag_timer = undefined
show_overlay = (e) ->
$overlay.fadeIn(250)
hide_overlay = (e) ->
$overlay.fadeOut(250)
drag_drop = (e) ->
e.preventDefault()
e.stopPropagation()
false
drag_enter = (e) ->
clearTimeout(_drag_timer)
e.preventDefault()
e.stopPropagation()
show_overlay(e)
false
drag_leave = (e) ->
e.preventDefault()
e.stopPropagation()
_drag_timer = setTimeout((=> hide_overlay(e)), 100)
false
drag_over = (e) ->
clearTimeout(_drag_timer)
e.preventDefault()
false
$document.on('drop', drag_drop).on('dragenter', drag_enter).on('dragleave', drag_leave).on('dragover', drag_over)
// Generated by CoffeeScript 1.4.0
(function() {
$(function() {
var $document, $overlay, drag_drop, drag_enter, drag_leave, drag_over, hide_overlay, show_overlay, _drag_timer;
$document = $(document);
$overlay = $('#overlayBox');
_drag_timer = void 0;
show_overlay = function(e) {
return $overlay.fadeIn(250);
};
hide_overlay = function(e) {
return $overlay.fadeOut(250);
};
drag_drop = function(e) {
e.preventDefault();
e.stopPropagation();
return false;
};
drag_enter = function(e) {
clearTimeout(_drag_timer);
e.preventDefault();
e.stopPropagation();
show_overlay(e);
return false;
};
drag_leave = function(e) {
var _this = this;
e.preventDefault();
e.stopPropagation();
_drag_timer = setTimeout((function() {
return hide_overlay(e);
}), 100);
return false;
};
drag_over = function(e) {
clearTimeout(_drag_timer);
e.preventDefault();
return false;
};
return $document.on('drop', drag_drop).on('dragenter', drag_enter).on('dragleave', drag_leave).on('dragover', drag_over);
});
}).call(this);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment