This is a pure image based toggle switch powered by jQuery, using zero CSS3 properties and as a result it looks and functions the same in all browsers.
It utilises a semi transparent PNG overlay to mask the underneath switch image, so the toggling animation remains within the constraints of the rounded rectangle.
- Compatible in most browsers, including IE6+
- Retina images for supporting iDevices
- Uses semi-transparent PNG overlay, so will look the same in all browsers
- PNG Overlay will need to be updated for use on different backgrounds (PSD Included for both regular and retina images)
- Switch animates on click of the switch itself or the accompanying
<label>
Plugin will automatically generate HTML required, and gracefully fall back to a plain old checkbox if JavaScript is disabled. Downside is that there may be a slight flicker between seeing the checkbox and the toggle switch appearing.
<link href='./toggleswitch.css' rel='stylesheet' type='text/css' /> <!--[if lt IE 8]> <link href='./toggleswitch.ie.css' rel='stylesheet' type='text/css' /> <![endif]--> <!-- Switch is ON --> <label for='opt1'>Option 1</label> <input type='checkbox' name='opt1' id='opt1' value='1' class='toggleswitch' checked='checked' /> <!-- Switch is OFF --> <label for='opt2'>Option 2</label> <input type='checkbox' name='opt2' id='opt2' value='1' class='toggleswitch' /> <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js'></script> <script type='text/javascript' src='./jquery.toggleswitch.js'></script> <script type='text/javascript'> jQuery(document).ready(function ($) { $('.toggleswitch').toggleSwitch(); }); </script>
No flicker between the document loading and toggle switch appearing, but there is no graceful fall back if JavaScript is disabled.
<link href='./toggleswitch.css' rel='stylesheet' type='text/css' /> <!--[if lt IE 8]> <link href='./toggleswitch.ie.css' rel='stylesheet' type='text/css' /> <![endif]--> <!-- Switch is ON --> <label for='opt1'>Option 1</label> <div class='switch'> <div class='overlay'></div> <span class='switched'></span> <input type='checkbox' name='opt1' id='opt1' value='1' class='toggleswitch' checked='checked' /> </div> <!-- Switch is OFF --> <label for='opt2'>Option 2</label> <div class='switch'> <div class='overlay'></div> <span class='switched off'></span> <input type='checkbox' name='opt2' id='opt2' value='1' class='toggleswitch' /> </div> <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js'></script> <script type='text/javascript' src='./jquery.toggleswitch.js'></script> <script type='text/javascript'> jQuery(document).ready(function ($) { $('.toggleswitch').toggleSwitch(); }); </script>
You can create functions for onClick
, onChangeOn
, and onChangeOff
.
<script type='text/javascript'> jQuery(document).ready(function ($) { $('.toggleswitch').toggleSwitch({ onClick: function () { console.log('Toggle Switch was clicked'); }, onChangeOn: function () { console.log('Toggle Switch was changed to the ON position'); }, onChangeOff: function () { console.log('Toggle Switch was changed to the OFF position'); } }); }); </script>
Toggle Switch is licensed under the MIT license, see LICENSE.md for details.