Blame view

vendor/bower-asset/jquery-ui/ui/effect-transfer.js 1.38 KB
b2a15e0c   Dmitryi   роли и права поль...
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  /*!
   * jQuery UI Effects Transfer 1.11.4
   * http://jqueryui.com
   *
   * Copyright jQuery Foundation and other contributors
   * Released under the MIT license.
   * http://jquery.org/license
   *
   * http://api.jqueryui.com/transfer-effect/
   */
  (function( factory ) {
  	if ( typeof define === "function" && define.amd ) {
  
  		// AMD. Register as an anonymous module.
  		define([
  			"jquery",
  			"./effect"
  		], factory );
  	} else {
  
  		// Browser globals
  		factory( jQuery );
  	}
  }(function( $ ) {
  
  return $.effects.effect.transfer = function( o, done ) {
  	var elem = $( this ),
  		target = $( o.to ),
  		targetFixed = target.css( "position" ) === "fixed",
  		body = $("body"),
  		fixTop = targetFixed ? body.scrollTop() : 0,
  		fixLeft = targetFixed ? body.scrollLeft() : 0,
  		endPosition = target.offset(),
  		animation = {
  			top: endPosition.top - fixTop,
  			left: endPosition.left - fixLeft,
  			height: target.innerHeight(),
  			width: target.innerWidth()
  		},
  		startPosition = elem.offset(),
  		transfer = $( "<div class='ui-effects-transfer'></div>" )
  			.appendTo( document.body )
  			.addClass( o.className )
  			.css({
  				top: startPosition.top - fixTop,
  				left: startPosition.left - fixLeft,
  				height: elem.innerHeight(),
  				width: elem.innerWidth(),
  				position: targetFixed ? "fixed" : "absolute"
  			})
  			.animate( animation, o.duration, o.easing, function() {
  				transfer.remove();
  				done();
  			});
  };
  
  }));