jQuery Input Box Shake Effect Tutorial & Demo

Hi People, In this post we are going to write a simple jQuery script to shake effect (animate) your input box.

To animate we need to load jQuery and jQuery UI libraries in our script and then a single line of script would do the magic for us.

$('input').effect("shake",{times: 3}, 800); 

That’s all, this much of script is enough to animate the input box.

But, wait let’s write a real scenario script where we can use this animation, so you can also use it in your project.

A simple form validation with shake effect.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>JQuery Shake Effect Example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- Load Bootstrap library for better UI look & feel -->
    <link rel="stylesheet" type="text/css" media="screen" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" />
    <!-- Load the jQuery & jQuery UI libraries -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <style>
      .highlight{
        box-shadow: 0 0 5px red;
        padding: 3px 0px 3px 3px;
        margin: 5px 1px 3px 0px;
        border: 1px solid red;
      }
    </style>
    <script>
      $(function(){
        $('#myform').submit(function(){
          var submit = true;
          var eachVal;

          //loop through all the input which has the class .req
          $('.req').each(function(index){
             eachVal = $(this).val();
             //find them if empty
             if(eachVal == ''){
              //highlight with red & shake it 3 times
              $(this).addClass('highlight');
              $(this).effect('shake',{times: 3}, 800); 
              submit = false;
             }else{
              //if everything find remove the highlight
              $(this).removeClass('highlight');
             }
          });
          return submit;
        });
      });
    </script>
</head>
<body>
    <div class="container">
        <br />
        <h2>JQuery Shake Effect - Demo by Theonlytutorials.com</h2>
        <br />
        <form action="" id="myform">
            <div class="form-group">
              <label for="email">Email address:</label>
              <input type="email" class="form-control req" id="email" >
            </div>
            <div class="form-group">
              <label for="pwd">Password:</label>
              <input type="password" class="form-control req" id="pwd" >
            </div>
            <div class="checkbox">
              <label><input type="checkbox"> Remember me</label>
            </div>
            <button type="submit" class="btn btn-default">Submit</button>
          </form>
    </div>
</body>
</html>

You can just go through the above script to understand it, any doubt you can ask them in the comment section.

Finally here is the demo:

demo

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top