MooTools滑块是一个很好的小应用程序,它为将滑块工具添加到站点提供了一种可靠的方法。但是,MooTool滑块缺少的一件事是一个块,覆盖了滑块左侧,手柄之前的内容。
用以下HTML创建一个页面。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" xx_src="./script/mootools.js"></script> <link href="./style/slider.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="track1"> <span id="track1span"></span><div id="handle1"><img xx_src="./style/slider/handle.png" id="handle1Image" alt="Drag Me" /></div> </div> <p id="test"></p> <script type="text/javascript" xx_src="./script/slider.js"></script> </body> </html>
滑块元素具有以下结构。
div <- container for the slider ---span <- the span element ---div <- handle ------img <- image to make the handle pretty
您将需要下载MooTools库才能运行此工具。
创建一个样式文件(slider.css在名为style的目录中调用)并添加以下内容。
#track1{
width:500px;
padding:0;
margin:0;
height:18px;
background-color: #09f;
}
#handle1{
padding:0;
margin:-20px 0 0 0;
width:18px;
height:18px;
}
span#track1span{
display:block;
padding:0;
margin:0;
background-color: #222;
height:18px;
width:50%;
}现在是脚本的重要部分。slider.js在脚本目录中创建一个名为的文件,并在其中添加以下代码。我在此处添加了很多注释,以使每一行的工作变得清晰。
// 设置轨道阵列
var handleArr = new Object();
handleArr["track1"]=250; // 设定初始值
// 设置滑块的效果
var track1Span = new Fx.Style($('track1span'),'width',{duration:0});
var slider1 = new Slider($('track1'),$('handle1'),{
steps:500, // 赛道上有250步
offset:0, // 零偏移使手柄适合轨道
onChange: function(pos){
track1Span.set(pos);
handleArr['track1'] = parseInt(pos); // 店铺位置
updateTestDiv(); // 运行功能来做某事
}
}).set(handleArr["track1"]); // 设定初始位置
// 用于更新带有手柄位置的测试标签的功能
function updateTestDiv(pos){
$('test').innerHTML = handleArr['track1'];
}该滑块所做的全部工作就是使用滑块手柄的当前位置用测试ID更新ap标签。
关于此脚本的理想之处在于,在其中添加更多轨道非常容易,您只需要稍微复制一下代码即可为slider2创建变量,依此类推。