Skip to content
A Rotary Dial menu for input numbers
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
favicon.png first commit Oct 12, 2019
index.html first commit Oct 12, 2019

Rotary Dial

A Rotary Dial for input numbers.


Live version here | Alternative link here

How to use it

Click / Touch the disc and drag it until the arrow. When the number reaches the arrow, it will turn red, then let go and that's your number.

How to use it on your web app

Include the RotaryDial.js file.

<script src="RotaryDial.js"></script>

Then create a new RotaryDial

const rd = new RotaryDial();

Creating a callback is easy, just define what your function will do with the number it receives from the RotaryDial.

const func = function(number){
	alert( number )

const rd = new RotaryDial({callback: func});

By default the RotaryDial has the console.log function as the callback.


The RotaryDial accepts a configuration object on its constructor. The most import parts are the size and the callback. The size will determine the size of your rotary dial menu, and the callback determines which function will be called when a number is selected. Besides that, there are some color configurations you can fiddle with.

size - The size of the menu. Default 400px

callback - The function that will be called when a number is selected. Default console.log

discFillColor - The disc color.

discStrokeColor - The disc border color.

circlesFillColor - The circles (where the numbers are displayed) color.

circlesStrokeColor - The circles (where the numbers are displayed) border color.

circlesHighlightColor - The color that a circle will be displayed when a number is selected.

textFillColor - The text color.

textStrokeColor - The text border color.

arrowFillColor - The arrow color.

arrowStrokeColor - The arrow border color.

You can’t perform that action at this time.