Skip to content

A jQuery plugin that shows a timer before the next Ajax page is loaded. Ideal for kiosk applications.

Notifications You must be signed in to change notification settings

RayHyde/timed_page_loader

Repository files navigation

Timed Page Loader, a jQuery plugin

Show a timer bar before the next Ajax page load

This plugin lets you automatically load pages via Ajax and is threfore ideal for kiosk applications. The reader gets visual feedback and clicking on the time bar stops and continues the animation. There are even direct links that take the reader immediately to the next page if needed.

See it in action: http://rayhyde.github.io/timed_page_loader/

The Goodies

  • You can start/stop the loading by clicking on the timer bar.
  • You can activate the plugin on as many elements on the page as you need, bar the processing limits of your viewer's computer, of course.
  • The plugin looks at a link in the loaded pages with the class name ".next-page" and uses that to load the next page in the background while still showing the first page. In these examples, the link works and loads the next page when clicked. You might also opt to hide it via CSS.
  • You can set the speed of the loading time and you have the choice of a vertical or a horizontal loading bar.
  • The loading bar you can style as you want - have it fixed on the side of the page, see-through, or even hidden.

How to use this plugin

1. Link the files you need

Include the jQuery script at the bottom of your page, e.g. through a CDN:

<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>

Then include the minimized version of the script:

<script src="[path to your script]/jquery.timed-page-loader.min.js"></script>

Change [path to your script] to where it resides, eg "js".

2. Create your HTML markup

This is very simple: create an element and style the element containing it. Like

<div id="wrap1" class="page-wrap"></div>
<style>
  .page-wrap {
    height: 360px;
  }
  .fuse-container {
    background: slateblue;
    ...
  }
  .fuse-container .fuse {
    background: #9F95DF;
    ...
  }
  ...
</style>
			

3. Call the plugin

Then initialize the plugin, telling it in which element it needs to run:

<script>
  $(<containing element here, e.g. "#wrap1">).timedPageLoader({
    fuseTime: 10000, 
    firstPage: 'page1.html',
    direction: 'vertical'
  });

// a second container: $(<containing element here, e.g. "#wrap2">).timedPageLoader({ fuseTime: 12000, firstPage: 'newpage1.html', direction: 'horizontal' }); </script>

4. Putting it all together

This is your basic page to get the plugin up and running:

<!DOCTYPE html>
<html>
<head>
...
<link rel="stylesheet" href="css/mytime_pageloader.css">
</head>
<body>
...
<div id="wrap1" class="page-wrap"></div>
...
<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="js/jquery.timed_page_loader.min.js"></script>
<script>
$('#wrap1').timedPageLoader();
</script>
</body>
</html>

Options

If you don't specify options, like in the example above, the plugin will use its default settings:
- loading speed: 10000 in thousands of a second, so 10 seconds
- the first page that gets loaded is 'page1.html'
- a horizontal bar

These are the options:

Speed

in the usual thousands of seconds

fuseTime: 10000

First page to load

The first page that needs to be loaded via Ajax:

firstPage: 'page1.html'

Horizontal or vertical bar

You can specify if you want a horizontal or a vertical timer bar.

direction: 'vertical'

My Playground

This project is part of my Playground - a collection of fun (and ahem, dare I say it: clever) stuff I made in the past, from jQuery games and plugins to CSS animation tricks.

Please drop in on my portfolio site www.rayhyde.nl!

About

A jQuery plugin that shows a timer before the next Ajax page is loaded. Ideal for kiosk applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published