スライダー表示

説明

スライダーを表示するにはscript.aculo.usライブラリを使うと便利です。script.aculo.usライブラリを利用するにはprototype.jsライブラリが必要なのであらかじめ読み込ませておきます。
スライダーを表示するためにHTML文書内に<div>タグでスライダー全体の領域とポインタ領域を用意します。スクリプトでControl.Slider()のパラメータにスライダーのポインタと全体の領域を指定します。スライダーは各種オプションが用意されています。スライダーの初期値はsliderValueで設定することができます。
スライダーが操作されるとonSlideイベントが発生するので対応する処理を指定することができます。スライダーを操作し終わった時に値が変化した場合にはonChangeイベントが発生するので対応する処理を指定することができます。スライダー値は標準状態では0〜1ですが、任意の値に変更したい場合にはオプションでrange:$R(0,100)のように指定することができます。この場合、スライダー値の範囲は0〜100までの数値になります。

JavaScriptテクニック ブック  詳しい解説などはJavaScriptテクニック ブックを参照してください。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="scriptaculous.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>スライダー表示</h1>
<h2>本書の評価</h2>
<div>悪い←→良い
<div id="sliderBG">
<div id="pointer"></div>
</div>
<div id="result"></div>
</body>
</html>

window.onload = function(){
new Control.Slider("pointer", "sliderBG", {
sliderValue : 0,
onChange:function(value){
$("result").innerHTML = Math.floor(value * 100)+"%";
},
onSlide:function(value){
$("result").innerHTML = Math.floor(value * 100)+"%";
}
});
}