aboutsummaryrefslogtreecommitdiffstats
path: root/demos/effect/switchClass.html
blob: ad52854d1bf10512757f4ec218309c79f1c3950c (plain)
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
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>jQuery UI Effects - switchClass Demo</title>
	<link rel="stylesheet" href="../../themes/base/all.css">
	<link rel="stylesheet" href="../demos.css">
	<style>
	.toggler { width: 500px; height: 200px; position: relative; }
	#button { padding: .5em 1em; text-decoration: none; }
	#effect { position: relative; }
	.newClass { width: 240px;  padding: 1em; letter-spacing: 0; margin: 0; }
	.anotherNewClass { text-indent: 40px; letter-spacing: .2em; width: 410px; height: 100px; padding: 30px; margin: 10px; font-size: 1.1em; }
	</style>
	<script src="../../external/requirejs/require.js"></script>
	<script src="../bootstrap.js">
		$( "#button" ).on( "click", function() {
			$( ".newClass" ).switchClass( "newClass", "anotherNewClass", 1000 );
			$( ".anotherNewClass" ).switchClass( "anotherNewClass", "newClass", 1000 );
		});
	</script>
</head>
<body>

<div class="toggler">
	<div id="effect" class="newClass ui-corner-all">
			Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede.
	</div>
</div>
<button id="button" class="ui-state-default ui-corner-all">Run Effect</button>

<div class="demo-description">
<p>Click the button above to preview the effect.</p>
</div>
</body>
</html>
span class="c1">// ||| left = offset.left + j * width; mx = j - ( cells - 1 ) / 2 ; // Create a clone of the now hidden main element that will be absolute positioned // within a wrapper div off the -left and -top equal to size of our pieces el .clone() .appendTo( 'body' ) .wrap( '<div></div>' ) .css({ position: 'absolute', visibility: 'visible', left: -j * width, top: -i * height }) // select the wrapper - make it overflow: hidden and absolute positioned based on // where the original was located +left and +top equal to the size of pieces .parent() .addClass( 'ui-effects-explode' ) .css({ position: 'absolute', overflow: 'hidden', width: width, height: height, left: left + ( show ? mx * width : 0 ), top: top + ( show ? my * height : 0 ), opacity: show ? 0 : 1 }).animate({ left: left + ( show ? 0 : mx * width ), top: top + ( show ? 0 : my * height ), opacity: show ? 1 : 0 }, o.duration || 500, o.easing, childComplete ); } } // children animate complete: function childComplete() { pieces.push( this ); if ( pieces.length == rows * cells ) { animComplete(); } } function animComplete() { el.css({ visibility: 'visible' }); $( pieces ).remove(); if ( !show ) { el.hide(); } if ( $.isFunction( o.complete ) ) { o.complete.apply( el[ 0 ] ); } next(); } }); }; })(jQuery);