ederssouza / vanillajs-helpers

JavaScript functions set to aid in your development process.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VanillaJS Helpers

JavaScript functions set to aid in your development process.

How to use

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title></title>
  </head>

  <body>

    <script src="dist/js/vanillajs-helpers.min.js"></script>
    <script>
      // VanillaJS Helpers function
    </script>
  </body>
</html>

Ajax

vanillaAjax

/**
 *  @param {object} obj
 *  {
 *    url: 'string',          required
 *    method: '',             required
 *    data: 'string',         required
 *    success: function(){},  required
 *    before: function(){},   [optional]
 *    complete: function(){}, [optional]
 *    error: function(){}     [optional]
 *  }
 */

vanillaAjax(obj)

Example

GET
vanillaAjax({
  url: 'example.php',
  method: 'GET',
  success: function(){
    var request = this;

    if (request.status >= 200 && request.status < 400) {

      // success
      var data = JSON.parse(request.responseText);
      console.log(data);

    } else {
      // the server received the request, but returned error
    }
  },
  before: function(){
    console.log('before send');
  },
  complete: function(){
    console.log('complete');
  },
  error: function(){
    console.log('error');
  }
});
POST
var user = {
  name: 'John Smith',
  email: 'johnsmith@github.com'
};

vanillaAjax({
  url: 'example.php',
  method: 'POST',
  data: 'data=' + encodeURIComponent(JSON.stringify(user)),
  success: function(){
    var request = this;

    if (request.status >= 200 && request.status < 400) {

      // success
      var data = JSON.parse(request.responseText);
      console.log(data);

    } else {
      // the server received the request, but returned error
    }
  },
  before: function(){
    console.log('before send');
  },
  complete: function(){
    console.log('complete');
  },
  error: function(){
    console.log('error');
  }
});

vanillaAjaxGet

/**
 *  @param {object} obj
 *  {
 *    url: 'string',          required
 *    success: function(){},  required
 *    before: function(){},   [optional]
 *    complete: function(){}, [optional]
 *    error: function(){}     [optional]
 *  }
 */

vanillaAjaxGet(obj)

Example

vanillaAjaxGet({
  url: 'example.php',
  success: function(){
    var request = this;

    if (request.status >= 200 && request.status < 400) {

      // success
      var data = JSON.parse(request.responseText);
      console.log(data);

    } else {
      // the server received the request, but returned error
    }
  },
  before: function(){
    console.log('before send');
  },
  complete: function(){
    console.log('complete');
  },
  error: function(){
    console.log('error');
  }
});

vanillaAjaxPost

/**
 *  @param {object} obj
 *  {
 *    url: 'string',          required
 *    data: 'string',         required
 *    success: function(){},  required
 *    before: function(){},   [optional]
 *    complete: function(){}, [optional]
 *    error: function(){}     [optional]
 *  }
 */

vanillaAjaxPost(obj)

Example

var user = {
  name: 'John Smith',
  email: 'johnsmith@github.com'
};

vanillaAjaxPost({
  url: 'example.php',
  data: 'data=' + encodeURIComponent(JSON.stringify(user)),
  success: function(){
    var request = this;

    if (request.status >= 200 && request.status < 400) {

      // success
      var data = JSON.parse(request.responseText);
      console.log(data);

    } else {
      // the server received the request, but returned error
    }
  },
  before: function(){
    console.log('before send');
  },
  complete: function(){
    console.log('complete');
  },
  error: function(){
    console.log('error');
  }
});

vanillaSerialize

/**
 *  @param {object} elem - form selector
 */

vanillaSerialize(form)

Example

<form>
  <input type="text" name="name" value="John Smith">
  <input type="email" name="email" value="johnsmith@github.com">
  <button type="submit">Send</button>
</form>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var form = document.querySelector('form');

  form.addEventListener('submit', function(e){
    e.preventDefault();
    console.log(vanillaSerialize(this));
  });
</script>

Manipulation

vanillaRemoveClass

/**
 *  @param {object} elem      - selector
 *  @param {string} elemClass - class name
 */

vanillaRemoveClass(elem, elemClass)

Example

<style>
  .bg { background-color: #ccc; }
</style>

<div id="wrapper" class="bg">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
</div>

<button id="button">Action</button>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    vanillaRemoveClass(elem, 'bg');
  });
</script>

vanillaAddClass

/**
 *  @param {object} elem      - selector
 *  @param {string} elemClass - class name
 */

vanillaAddClass(elem, elemClass)

Example

<style>
  .bg { background-color: #ccc; }
</style>

<div id="wrapper">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
</div>

<button id="button">Action</button>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    vanillaAddClass(elem, 'bg');
  });
</script>

vanillaHasClass

/**
 *  @param {object} elem      - selector
 *  @param {string} elemClass - class name
 */

vanillaHasClass(elem, elemClass)

Example

<style>
  .bg { background-color: #ccc; }
</style>

<div id="wrapper" class="bg">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
</div>

<button id="button">Action</button>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    if(vanillaHasClass(elem, 'bg')) {
      console.log(true);

    } else {
      console.log(false);
    }
  });
</script>

vanillaToggleClass

/**
 *  @param {object} elem      - selector
 *  @param {string} elemClass - class name
 */

vanillaToggleClass(elem, elemClass)

Example

<style>
  .bg { background-color: #ccc; }
</style>

<div id="wrapper">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
</div>

<button id="button">Action</button>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    vanillaToggleClass(elem, 'bg');
  });
</script>

Traversing

vanillaClosest

/**
 *  @param {object} elem   - selector
 *  @param {number} target - element target
 */

vanillaClosest(elem, target)

Example

<div class="container">
  <div id="wrapper">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
  </div>

  <button id="button">Action</button>
</div>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    console.log(vanillaClosest(this, 2)); // return body
  });
</script>

Effects

vanillaFadeOut

/**
 *  @param {object} elem - selector
 */

vanillaFadeOut(elem)

Example

<div id="wrapper">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
</div>

<button id="button">Action</button>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    vanillaFadeOut(elem);
  });
</script>

vanillaFadeIn

/**
 *  @param {object} elem    - selector
 *  @param {string} display - inline-block or block (default)
 */

vanillaFadeIn(elem, display)

Example

<div id="wrapper" style="display: none;">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos cum, explicabo voluptatibus, ducimus quasi facere maiores sed totam autem sint ipsa illo natus consequatur ullam iure iusto nemo aliquid a.</p>
</div>

<button id="button">Action</button>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var button = document.getElementById('button');
  var elem = document.getElementById('wrapper');

  button.addEventListener('click', function(){
    vanillaFadeIn(elem);
  });
</script>

Visibility filter

vanillaIsHidden

/**
 *  @param {object} elem - selector
 */

vanillaIsHidden(elem)

Example

<div id="wrapper" style="display: none;"></div>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var elem = document.getElementById('wrapper');
  console.log(vanillaIsHidden(elem));
</script>

vanillaIsVisible

/**
 *  @param {object} elem - selector
 */

vanillaIsVisible(elem)

Example

<div id="wrapper"></div>

<script src="dist/js/vanillajs-helpers.min.js"></script>
<script>
  var elem = document.getElementById('wrapper');
  console.log(vanillaIsVisible(elem));
</script>

Browser Support

IE Chrome Firefox Opera Safari
IE 10+ ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔

About

JavaScript functions set to aid in your development process.

License:MIT License


Languages

Language:JavaScript 100.0%