HTML :
<form method="post">
<input type="range" name="range" min="0" max="10" step="1" value="">
<output name="result"> </output>
</form>
CSS :
<style type="text/css">
input {
font-size: 14px;
font-weight: bold;
}
input[type=range]:before {
content: attr(min);
padding-right: 5px;
}
input[type=range]:after {
content: attr(max);
padding-left: 5px;
}
output {
display: block;
font-size: 5.5em;
font-weight: bold;
}
</style>
JavaScript :
<script type="text/javascript">
(function () {
var f = document.forms[0],
range = f['range'],
result = f['result'],
cachedRangeValue = localStorage.rangeValue ? localStorage.rangeValue : 5;
// Determine if browser is one of the cool kids that
// recognizes the range input.
var o = document.createElement('input');
o.type = 'range';
if (o.type === 'text') alert('Sorry. Your browser is not cool enough yet. Try the latest Opera.');
// Set initial values of the input and ouput elements to
// either what's stored locally, or the number 5.
range.value = cachedRangeValue;
result.value = cachedRangeValue;
// When the user makes a selection, update local storage.
range.addEventListener("mouseup", function () {
localStorage ? (localStorage.rangeValue = range.value) : alert("Save data to database or something instead.");
}, false);
// Display chosen value when sliding.
range.addEventListener("change", function () {
result.value = range.value;
}, false);
})();
</script>
Output :