Google Calendar Like jQuery Time Picker Plugin - Timepicker.js
| File Size: | 40.8 KB | 
|---|---|
| Views Total: | 7236 | 
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website | 
| License: | MIT | 
Yet another jQuery time picker plugin which creates a simple highly customizable, Google Calendar inspired timer picker for easier time selection.
Features:
- Lightweight and easy to customize.
 - Can be bound to any DOM element.
 - Can render itself as a select element
 - Custom time range, step and format.
 - Supports duration selection.
 - Compatible with jQuery Datepair plugin.
 - Keyboard navigation.
 - Lots of customization options and API.
 - Cross browser and mobile friendly.
 
Basic usage:
1. Include jquery.timepicker.css inside your head tag and jquery.timepicker.js after jQuery library but before the closing body tag.
<link href="jquery.timepicker.css" rel="stylesheet"> <script src="//code.jquery.com/jquery-1.12.0.min.js"></script> <script src="jquery.timepicker.js"></script>
2. Create a text input field for the time picker.
<input id="basic" type="text">
3. Initialize the time picker and we're ready to go.
$('#basic').timepicker();
4. All configuration options with default values.
$('#basic').timepicker({
  // where the timepicker is appended
  appendTo: 'body',
  // additional CSS class
  className: null,
  // close the time picker on scroll
  closeOnWindowScroll: false,
  // disable text input
  disableTextInput: false,
  // disable time ranges
  disableTimeRanges: [],
  // disable onscreen keyboard for touch devices
  disableTouchKeyboard: false,
  // the time against which showDuration will compute relative times. 
  // if this is a function, its result will be used.
  durationTime: null,
  // force update the time to step settings as soon as it loses focus.
  forceRoundTime: false,
  // min / max time
  maxTime: null,
  minTime: null,
  // Adds a "None" option that results in an empty input value
  noneOption: false,
  // l (left), r (right), t (top), and b (bottom)
  orientation: 'l',
  // Function used to compute rounded times. 
  roundingFunction: function(seconds, settings) {
    if (seconds === null) {
      return null;
    } else {
      var offset = seconds % (settings.step*60); // step is in minutes
      if (offset >= settings.step*30) {
        // if offset is larger than a half step, round up
        seconds += (settings.step*60) - offset;
      } else {
        // round down
        seconds -= offset;
      }
      return seconds;
    }
  },
  // if no time value is selected, set the dropdown scroll position to show the time provided, e.g. "09:00". 
  // a time string, Date object, or integer (seconds past midnight) is acceptible, as well as the string 'now'.
  scrollDefault: null,
  // update the input with the currently highlighted time value when the timepicker loses focus.
  selectOnBlur: false,
  // show "24:00" as an option when using 24-hour time format.
  show2400: false,
  // show the relative time for each item in the dropdown
  showDuration: false,
  // display a timepicker dropdown when the input fires a particular event. 
  // set to null or an empty array to disable automatic display. 
  // setting should be an array of strings. 
  showOn: ['click', 'focus'],
  // display a timepicker dropdown when the input gains focus.
  showOnFocus: true,
  // The amount of time, in minutes, between each item in the time picker.
  step: 30,
  // When scrolling on the edge of the time picker, it prevent parent containers () to scroll.
  stopScrollPropagation: false,
  // custom time format
  // uses PHP's date() formatting syntax.
  timeFormat: 'g:ia',
  // highlight the nearest corresponding time option as a value is typed into the form input.
  typeaheadHighlight: true,
  // convert the input to an HTML <SELECT> control. 
  useSelect: false
});
5. Public methods.
// Get the time as an integer, expressed as seconds from 12am.
$('#el').timepicker('getSecondsFromMidnight');
// Get the time using a Javascript Date object, relative to a Date object (default: Jan 1, 1970).
$('#el').timepicker('getTime');
$('#el').timepicker('getTime', new Date());
// Hide the time picker
$('#el').timepicker('hide');
// Remove the time picker
$('#el').timepicker('remove');
// Set the time using a Javascript Date object.
$('#el').timepicker('setTime', new Date());
// Display the time picker.
$('#el').timepicker('show');
6. Events.
// fire any time the input value is updated
$('#el').on('change', function() {
  // do something
});
// called after a valid time value is entered or selected. 
// see timeFormatError and timeRangeError for error events.
// fires before change event.
$('#el').on('changeTime', function() {
  // do something
});
// called after the timepicker is closed.
$('#el').on('hideTimepicker', function() {
  // do something
});
// called after a time value is selected from the timepicker list. 
// fires before change event.
$('#el').on('selectTime', function() {
  // do something
});
// called after the timepicker is shown.
$('#el').on('showTimepicker', function() {
  // do something
});
// called if an unparseable time string is manually entered into the timepicker input. 
// fires before change event.
$('#el').on('timeFormatError', function() {
  // do something
});
// called if a maxTime, minTime, or disableTimeRanges is set and an invalid time is manually entered into the timepicker input.
// fires before change event.
$('#el').on('timeRangeErrorr', function() {
  // do something
});
This awesome jQuery plugin is developed by cdsosa. For more Advanced Usages, please check the demo page or visit the official website.











