-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.magnetize.js
36 lines (26 loc) · 1.2 KB
/
jquery.magnetize.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*! jquery.magnetize.js - v0.1 - 2014-12-12
* Author : Carlos Herrera <[email protected]>
* Copyright (c) 2014 Fuse Partners; Licensed MIT */
(function( $ ) {
$.fn.magnetize = function(options) {
this.each(function() {
var drop = $( this );
var settings = $.extend({
// These are the defaults.
'leftop' : "+=",
'topop' : "+=",
'drag' : drop.data('drag'),
'animate' : 'animate'
}, options );
var drag = $(settings.drag);
var _y=(drop.offset().top -drag.offset().top);
var _x=(drop.offset().left-drag.offset().left);
switch (settings.animate) {
case 'animate': drag.animate({left:settings.leftop + _x , top :settings.topop + _y});break;
case 'fade' : drag.css({left:settings.leftop + _x , top :settings.topop + _y,opacity:0.1});drag.animate({opacity:1});break;
default : drag.css({left:settings.leftop + _x , top :settings.topop + _y});
}
});
return this;
};
}( jQuery ));