我需要为 WMP 对象创建一个自定义音量滑块。当前滑块的修改和使用很复杂,是否有一种简单的方法可以在 HTML 页面上生成滑块,可以将其值传递给 javascript 函数?
13 回答
嘿,我刚刚创建了自己的 JS 滑块,因为我已经受够了沉重的 Jquery UI 滑块。有兴趣听听人们的想法。已经玩了 5 个小时,所以真的很早。
带有Webforms 2的HTML 5提供了一个<input type="range">
可以让浏览器为您生成本机滑块的功能。不幸的是,并非所有浏览器都支持此功能,但是google已经使用 js 实现了所有 Webforms 2 控件。IIRC js 足够智能,可以知道浏览器是否实现了控件,并且只有在没有原生实现时才会触发。
从我的角度来看,尽可能使用浏览器原生控件应该被认为是最佳实践。
一个简单的滑块:我刚刚在纯 HTML5中测试过这个,非常简单!
<input type="range">
它在 Chrome 上就像一个魅力。我还没有测试过其他浏览器。
这是另一个似乎适合您需求的轻量级JavaScript 滑块。
Yahoo UI 库也有一个滑块控件...
script.aculo.us 有一个滑块控件,可能值得一试。
轻量级的 MooTools 框架有一个:http ://demos.mootools.net/Slider
我推荐Filament Group的Slider,它有很好的用户体验
有一个不错的 javascript 滑块,它很容易实现。您可以在此处下载 zip 包:http ://ruwix.com/javascript-volume-slider-control/
ps这里是上述脚本的简化版本:
这是一个简单的滑块对象,易于使用
Carpe Slider 也有更新的版本:
v1.5 carpe_ambiprospect_slider
v2.0b ...slider/drafts/v2.0/
下面的代码应该足以让您入门。在 Opera、IE 和 Chrome 中测试。
<script>
var l=0;
function f(i){
im = 'i' + l;
d=document.all[im];
d.height=99;
document.all.f1.t1.value=i;
im = 'i' + i;
d=document.all[im];
d.height=1;
l=i;
}
</script>
<center>
<form id='f1'>
<input type=text value=0 id='t1'>
</form>
<script>
for (i=0;i<=50;i++)
{
s = "<img src='j.jpg' height=99 width=9 onMouseOver='f(" + i + ")' id='i" + i + "'>";
document.write(s);
}
</script>