circular-slider - A jQuery Plugin
Circular slider is a jQuery plugin which helps to slide range of values and images. It supports half(top/bottom/up/down) and full circle shapes. #####Demo Page ![Gitter](https://badges.gitter.im/Join Chat.svg)
For angular version(without JQuery dependency), Try Angular Circular Slider
Getting Started
Download the latest code
Fork this repository or download js/css files from dist
directory.
Including it on your page
Include jQuery and this plugin on a page.
<link rel="stylesheet" href="circular-slider.min.css" /> <script src="jquery.js"></script> <script src="circular-slider.min.js"></script>
Basic Usage
<div id="slider"></div>
var slider = $('#slider').CircularSlider();
Properties
radius
radius
of the circle in px.
innerCircleRatio
ratio of inner circle area(used to display current sliding value). ratio can be in the range between 0.10 and 0.90 (open interval).
min
min
value of the slider.
max
max
value of the slider.
value
Initial value of the slider.
clockwise
direction of the sliding value.
labelSuffix
label to be used as suffix along with current sliding
value
.
labelPrefix
label to be used as prefix along with current sliding
value
.
shape
shape
of the slider. Supported shapes are:
'Circle'
(default)'Half Circle'
'Half Circle Left'
'Half Circle Right'
'Half Circle Bottom'
touch
touch
support. (default: true)
animate
linear
animation
support. (dafault: true)
animateDuration
Animation duration in milliseconds. (default: 360ms)
selectable
text selection enabled or not. (default: false)
handleDist
Distance between handle and shape center in percentage(default: 100)
Functions
function setValue(value)
Set current
value
of the slider.
function getValue()
Get current
value
of the slider.
function setRange(min, max)
Set sliding range of the slider.
min
is a minimum value andmax
is a maximum sliding value. If the currentvalue
is not in range,min
will be set as currentvalue
function getRadius()
Get current
radius
of the slider.
function setRadius(radius)
Set current
radius
of the slider.
function getAnimate()
Get current
animate
property of the slider.
function setAnimate(animate)
Set current
animate
property of the slider.
function getAnimateDuration()
Get current
animateDuration
value of the slider.
function setAnimateDuration(duration)
Set current
animateDuration
value of the slider.
Callback
function slide(ui, value)
slide
callback is triggered whenever there is a change in sliding value.
Parameters:
ui - dom element value - Current sliding value
function onSlideEnd(ui, value)
onSlideEnd
callback is triggered when the user action is done (on mouse up/touch end or click).
Parameters:
ui - dom element value - Current sliding value
function formLabel(value, prefix, suffix)
formLabel
callback is triggered with current sliding value, prefix and suffix. If it is defined, it will be used as a source for inner circle area.
Parameters:
value - Current sliding value prefix - prefix configured suffix - suffix configured
Default Settings
Slider with default values
var slider = $('#slider').CircularSlider({ radius: 75, innerCircleRatio: '0.5', handleDist: 100, min: 0, max: 359, value: 0, clockwise: true, labelSuffix: "", labelPrefix: "", shape: "Circle", touch: true, animate: true, animateDuration : 360, selectable: false, slide: function(ui, value) {}, onSlideEnd: function(ui, value) {}, formLabel: undefined });
CSS classes
Use the below css classes for customization
.jcs-panel
- circular slider panel
.jcs
- Slider area
.jcs-value
- Inner circle area
.jcs-indicator
- Slide indicator ball
image carousel)
Advanced Usage (var imageSlider = $('#slider-customized').CircularSlider({ min : 0, max: 359, radius: 100, innerCircleRatio : .7, formLabel : function(value, prefix, suffix) { return '<img src="assets/images/baby'+ parseInt(value / 26)+'.png"></img>'; }, slide : function(ui, value) { var colors = ['deeppink', 'seagreen', 'deepskyblue', 'coral', 'cadetblue', 'olive', 'chocolate', 'yellowgreen', 'cornflowerblue', 'slategrey', 'salmon', 'brown', 'darkgoldenrod', 'dimgrey']; var color = colors[parseInt(value / 26)]; ui.find('.jcs').css({'border-color' : color }); ui.find('.jcs-indicator').css({'background' : color }); } });
License
This plugin is licensed under the MIT license.
Copyright (c) 2014 Prince John Wesley