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.











