Vibrate 2.0

Created Sunday 31st of August 2008 by Andreas Lagerkvist
Copyright © 2008 Andreas Lagerkvist (andreaslagerkvist.com)

Please have a look at the "Other Resources" for bug reports or further help on jQuery. Do not post bug reports or feature requests as comments to unrelated articles. If bug reporting on bugtracker.a-framework.org fails, e-mail me.

What it Does

This plug-in makes any element you want "vibrate" every now and then. Can be used in conjunction with blink for maximum annoyance!

How to Use

jQuery('#ad-area').vibrate(); would make #ad-area vibrate every now and then, options are available, please check the source.

Vibrate currently only works with elements positioned 'static'.

Example

I should vibrate every now and then

Example Code

HTML

<div id="jquery-vibrate-example">
I should vibrate every now and then
</div>

JS

jQuery('#jquery-vibrate-example').vibrate();

Source Code

jQuery.fn.vibrate = function (conf) {
    var 
config jQuery.extend({
        
speed:        30
        
duration:    2000
        
frequency:    5000
        
spread:        3
    
}, conf);

    return 
this.each(function () {
        var 
jQuery(this);

        var 
vibrate = function () {
            var 
topPos    Math.floor(Math.random() * config.spread) - ((config.spread 1) / 2);
            var 
leftPos    Math.floor(Math.random() * config.spread) - ((config.spread 1) / 2);
            var 
rotate    Math.floor(Math.random() * config.spread) - ((config.spread 1) / 2);

            
t.css({
                
position:            'relative'
                
left:                leftPos 'px'
                
top:                topPos 'px'
                
WebkitTransform:    'rotate(' rotate 'deg)'  // cheers to erik@birdy.nu for the rotation-idea
            
});
        };

        var 
doVibration = function () {
            var 
vibrationInterval setInterval(vibrateconfig.speed);

            var 
stopVibration = function () {
                
clearInterval(vibrationInterval);
                
t.css({
                    
position:            'static'
                    
WebkitTransform:    'rotate(0deg)'
                
});
            };

            
setTimeout(stopVibrationconfig.duration);
        };

        
setInterval(doVibrationconfig.frequency);
    });
};

Download

Plug-in

Requires

Random jQuery Plug-ins

  • Text Shadow

    Frankly a rather crappy text-shadow plug-in (can one be done well? :) but nevertheless it does the job in some cases.

    Details

  • Equal Height

    This plug-in makes HTML-elements equal height by adjusting their min-height CSS properties. Of course IE6 has no clue what min-height means so the plu...

    Details

  • Ajax Loader

    Use this plug-in when you want to inform your visitors that a certain part of your page is currently loading. The plug-in adds a faded 'loading-div' o...

    Details

More Plug-ins

Recent Comments

  1. Andreas on "SleekPHP User Handling"

    Thank you for showing interest :) Were the docs en...

  2. ciptard on "SleekPHP User Handling"

    Ok, thank you

  3. Andreas on "SleekPHP User Handling"

    I might write a "getting started" article for Slee...

Page cached. Loaded in: 0.0247 second(s).
Last DB change: 2012-02-04 08:04:40
Last file change: 2011-10-03 07:42:35
Cache created: 2012-02-04 09:04:18