Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

README.md

jquery-nyan-bars

Animated text and progress bars parsed from a simple string language.

View a demo instance at: http://nyanbars.appspot.com/

Blog post at: http://webronomicon.blogspot.com/2014/03/nyan-bars.html

Create a progress bar:

  $("#bar").nyanBar({
    charSize: charSize, // How many character to take up.
    pattern: "-*>", // The pattern to parse.
    showProgress: true, // Whether to show a percentage.
    progressFunction: (function() {
      var ctr = 0;
      return function() {
        ctr = (ctr + 1) % 100;
        return ctr;
      }
    })() // The function that is queried for progress.
  });

The language is simple. Say that a character or sequence should be repeated with the * character:

  var pattern = "-*>";
  // Implies ==>
  ->
  -->
  --->
  ---->
  ---->
  ---->

Animate a single character with the [] operator, separating groups of characters with |s:

  var pattern = "[A|a]";
  // ==>
  A
   a
    A
     a
     A
     a

There can be as many groups of characters in a [] as you want, so long as they are all of the same length.

Include repetition with the *:

  var pattern = "[A|a]*";
  // ==>
  A
  Aa
  AaA
  AaAa
  AaAa
  AaAa

Make the characters continually animated with the {} operator:

  var pattern = "{A|a}*";
  // ==>
  A
  aA
  AaA
  aAaA
  AaAa
  aAaA

Make them animate in unison with the {{}} operator:

  var pattern = "{{A|a}}*";
  // ==>
  A
  aa
  AAA
  aaaa
  AAAA
  aaaa

And make {}-animated characters run their animation in reverse by using the + operator instead of *:

  var pattern = "{1|2|3}*";
  // ==>
  1
  21
  321
  1321
  2132
  3213
  var pattern = "{1|2|3}+";
  // ==>
  1
  23
  312
  1231
  2312
  3123

About

Animated text progress bars parsed from a simple string language.

Resources

License

Packages

No packages published
You can’t perform that action at this time.