jQuery UI & Effects: Remove Class

This entry is part 10 of 10 in the series jQuery UI Effects

jQuery UI Effects – removeClass Demo

Removes class(es) from elements while animating all style changes.

<!doctype html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <title>jQuery UI Effects - removeClass Demo</title>
    <link rel='stylesheet' href='//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css'>
    <script src='//code.jquery.com/jquery-1.9.1.js'></script>
    <script src='//code.jquery.com/ui/1.10.4/jquery-ui.js'></script>
    <link rel='stylesheet' href='https://codecrawl.com/code/jqueryui/jqueryui_style.css'>
    <style>
        .toggler {
            width: 500px;
            height: 200px;
            position: relative;
        }

        #button {
            padding: .5em 1em;
            text-decoration: none;
        }

        #effect {
            position: relative;
            width: 240px;
            padding: 1em;
            letter-spacing: 0;
            font-size: 1.2em;
            border: 1px solid #000;
            background: #eee;
            color: #333;
        }

        .newClass {
            text-indent: 40px;
            letter-spacing: .4em;
            width: 410px;
            height: 100px;
            padding: 30px;
            margin: 10px;
            font-size: 1.6em;
        }
    </style>
    <script>
        $(function () {
            $('#button').click(function () {
                $('#effect').removeClass('newClass', 1000, callback);
                return false;
            });

            function callback() {
                setTimeout(function () {
                    $('#effect').addClass('newClass');
                }, 1500);
            }
        });
    </script>
</head>
<body>

<div class='toggler'>
    <div id='effect' class='newClass ui-corner-all'>
        You can not be incredible hulk all the time.
    </div>
</div>

<a href='#' id='button' class='ui-state-default ui-corner-all'>Run Effect</a>

</body>
</html>
Try The Code

jQuery UI & Effects: Hide Elements Using Custom Effects

This entry is part 9 of 10 in the series jQuery UI Effects

jQuery UI Effects – Hide Demo

Click the button above to preview the effect.

<!doctype html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <title>jQuery UI Effects - Hide Demo</title>
    <link rel='stylesheet' href='//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css'>
    <script src='//code.jquery.com/jquery-1.9.1.js'></script>
    <script src='//code.jquery.com/ui/1.10.4/jquery-ui.js'></script>
    <link rel='stylesheet' href='https://codecrawl.com/code/jqueryui/jqueryui_style.css'>
    <style>
        .toggler {
            width: 500px;
            height: 200px;
        }

        #button {
            padding: .5em 1em;
            text-decoration: none;
        }

        #effect {
            width: 240px;
            height: 135px;
            padding: 0.4em;
            position: relative;
        }

        #effect h3 {
            margin: 0;
            padding: 0.4em;
            text-align: center;
        }
    </style>
    <script>
        $(function () {
            // run the currently selected effect
            function runEffect() {
                // get effect type from
                var selectedEffect = $('#effectTypes').val();

                // most effect types need no options passed by default
                var options = {};
                // some effects have required parameters
                if (selectedEffect === 'scale') {
                    options = { percent: 0 };
                } else if (selectedEffect === 'size') {
                    options = { to: { width: 200, height: 60 } };
                }

                // run the effect
                $('#effect').hide(selectedEffect, options, 1000, callback);
            };

            // callback function to bring a hidden box back
            function callback() {
                setTimeout(function () {
                    $('#effect').removeAttr('style').hide().fadeIn();
                }, 1000);
            };

            // set effect from select menu value
            $('#button').click(function () {
                runEffect();
                return false;
            });
        });
    </script>
</head>
<body>

<div class='toggler'>
    <div id='effect' class='ui-widget-content ui-corner-all'>
        <h3 class='ui-widget-header ui-corner-all'>Hide</h3>

        <p>
            I will be gone. See you all.
        </p>
    </div>
</div>

<select name='effects' id='effectTypes'>
    <option value='blind'>Blind</option>
    <option value='bounce'>Bounce</option>
    <option value='clip'>Clip</option>
    <option value='drop'>Drop</option>
    <option value='explode'>Explode</option>
    <option value='fold'>Fold</option>
    <option value='highlight'>Highlight</option>
    <option value='puff'>Puff</option>
    <option value='pulsate'>Pulsate</option>
    <option value='scale'>Scale</option>
    <option value='shake'>Shake</option>
    <option value='size'>Size</option>
    <option value='slide'>Slide</option>
</select>

<a href='#' id='button' class='ui-state-default ui-corner-all'>Run Effect</a>

</body>
</html>
Try The Code

jQuery UI & Effects: Easing Effects

This entry is part 7 of 10 in the series jQuery UI Effects

jQuery UI Effects – Easing demo

All the easing effects in one page.  Just click on the graphs above to see the effects.

<!doctype html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <title>jQuery UI Effects - Easing demo</title>
    <link rel='stylesheet' href='//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css'>
    <script src='//code.jquery.com/jquery-1.9.1.js'></script>
    <script src='//code.jquery.com/ui/1.10.4/jquery-ui.js'></script>
    <link rel='stylesheet' href='https://codecrawl.com/code/jqueryui/jqueryui_style.css'>
    <style>
        .graph {
            float: left;
            margin-left: 10px;
        }
    </style>
    <script>
        $(function () {
            if (!$('<canvas>')[0].getContext) {
                $('<div>').text(
                        'Your browser does not support canvas, which is required for this demo.'
                ).appendTo('#graphs');
                return;
            }

            var i = 0,
                    width = 100,
                    height = 100;

            $.each($.easing, function (name, impl) {
                var graph = $('<div>').addClass('graph').appendTo('#graphs'),
                        text = $('<div>').text(++i + '. ' + name).appendTo(graph),
                        wrap = $('<div>').appendTo(graph).css('overflow', 'hidden'),
                        canvas = $('<canvas>').appendTo(wrap)[ 0 ];

                canvas.width = width;
                canvas.height = height;
                var drawHeight = height * 0.8,
                        cradius = 10;
                ctx = canvas.getContext('2d');
                ctx.fillStyle = 'black';

                // draw background
                ctx.beginPath();
                ctx.moveTo(cradius, 0);
                ctx.quadraticCurveTo(0, 0, 0, cradius);
                ctx.lineTo(0, height - cradius);
                ctx.quadraticCurveTo(0, height, cradius, height);
                ctx.lineTo(width - cradius, height);
                ctx.quadraticCurveTo(width, height, width, height - cradius);
                ctx.lineTo(width, 0);
                ctx.lineTo(cradius, 0);
                ctx.fill();

                // draw bottom line
                ctx.strokeStyle = '#555';
                ctx.beginPath();
                ctx.moveTo(width * 0.1, drawHeight + .5);
                ctx.lineTo(width * 0.9, drawHeight + .5);
                ctx.stroke();

                // draw top line
                ctx.strokeStyle = '#555';
                ctx.beginPath();
                ctx.moveTo(width * 0.1, drawHeight * .3 - .5);
                ctx.lineTo(width * 0.9, drawHeight * .3 - .5);
                ctx.stroke();

                // plot easing
                ctx.strokeStyle = 'white';
                ctx.beginPath();
                ctx.lineWidth = 2;
                ctx.moveTo(width * 0.1, drawHeight);
                $.each(new Array(width), function (position) {
                    var state = position / width,
                            val = impl(state, position, 0, 1, width);
                    ctx.lineTo(position * 0.8 + width * 0.1,
                                    drawHeight - drawHeight * val * 0.7);
                });
                ctx.stroke();

                // animate on click
                graph.click(function () {
                    wrap
                            .animate({ height: 'hide' }, 2000, name)
                            .delay(800)
                            .animate({ height: 'show' }, 2000, name);
                });

                graph.width(width).height(height + text.height() + 10);
            });
        });
    </script>
</head>
<body>

<div id='graphs'></div>

</body>
</html>
Try The Code

jQuery UI & Effects: Animation Effects

This entry is part 5 of 10 in the series jQuery UI Effects

jQuery UI Effects – Effect demo

Simply click on the buttons to click on the effects.

<!doctype html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <title>jQuery UI Effects - Effect demo</title>
    <link rel='stylesheet' href='//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css'>
    <script src='//code.jquery.com/jquery-1.9.1.js'></script>
    <script src='//code.jquery.com/ui/1.10.4/jquery-ui.js'></script>
    <link rel='stylesheet' href='https://codecrawl.com/code/jqueryui/jqueryui_style.css'>
    <style>
        .toggler {
            width: 500px;
            height: 200px;
            position: relative;
        }

        #button {
            padding: .5em 1em;
            text-decoration: none;
        }

        #effect {
            width: 240px;
            height: 135px;
            padding: 0.4em;
            position: relative;
        }

        #effect h3 {
            margin: 0;
            padding: 0.4em;
            text-align: center;
        }

        .ui-effects-transfer {
            border: 2px dotted gray;
        }
    </style>
    <script>
        $(function () {
            // run the currently selected effect
            function runEffect() {
                // get effect type from
                var selectedEffect = $('#effectTypes').val();

                // most effect types need no options passed by default
                var options = {};
                // some effects have required parameters
                if (selectedEffect === 'scale') {
                    options = { percent: 0 };
                } else if (selectedEffect === 'transfer') {
                    options = { to: '#button', className: 'ui-effects-transfer' };
                } else if (selectedEffect === 'size') {
                    options = { to: { width: 200, height: 60 } };
                }

                // run the effect
                $('#effect').effect(selectedEffect, options, 500, callback);
            };

            // callback function to bring a hidden box back
            function callback() {
                setTimeout(function () {
                    $('#effect').removeAttr('style').hide().fadeIn();
                }, 1000);
            };

            // set effect from select menu value
            $('#button').click(function () {
                runEffect();
                return false;
            });
        });
    </script>
</head>
<body>

<div class='toggler'>
    <div id='effect' class='ui-widget-content ui-corner-all'>
        <h3 class='ui-widget-header ui-corner-all'>Effect</h3>

        <p>
            Of all of the Avengers, Captain America always has been the most boring. He doesn’t have anger management issues like Hulk,
            a charmingly cunning brother with daddy issues like Thor.
        </p>
    </div>
</div>

<select name='effects' id='effectTypes'>
    <option value='blind'>Blind</option>
    <option value='bounce'>Bounce</option>
    <option value='clip'>Clip</option>
    <option value='drop'>Drop</option>
    <option value='explode'>Explode</option>
    <option value='fade'>Fade</option>
    <option value='fold'>Fold</option>
    <option value='highlight'>Highlight</option>
    <option value='puff'>Puff</option>
    <option value='pulsate'>Pulsate</option>
    <option value='scale'>Scale</option>
    <option value='shake'>Shake</option>
    <option value='size'>Size</option>
    <option value='slide'>Slide</option>
    <option value='transfer'>Transfer</option>
</select>

<a href='#' id='button' class='ui-state-default ui-corner-all'>Run Effect</a>

</body>
</html>
Try The Code