2008-10-06 34 views
43

我需要爲WMP對象創建自定義音量滑塊。當前滑塊修改起來非常複雜,並且使用有一種簡單的方法可以在HTML頁面上生成滑塊,並將其值傳遞給javascript函數?有一個簡單的JavaScript滑塊嗎?

+6

使用HTML5,可以聲明原生滑塊並使用CSS樣式。 ``試試吧! – 2012-06-25 18:52:30

+0

但不幸的是在Firefox中不起作用:( – cprcrack 2012-10-25 17:22:29

+0

** HERE !!!!!!!!!!!! ** - http://stackoverflow.com/questions/22904852/html-scroll-box-with -horizo​​ntal-controls-for-vertical-scrolling/ – 2014-06-11 17:06:01

回答

19

HTML 5Webforms 2提供<input type="range">這將使瀏覽器爲你生成一個本地滑塊。不幸的是,所有的瀏覽器都不支持這個功能,但是已經使用js實現了所有的Webforms 2控件。 IIRC js足夠智能,可以知道瀏覽器是否實現了控件,只有在沒有本地實現的情況下才會觸發。

從我的角度來看,儘可能使用瀏覽器原生控件應該被認爲是最佳實踐。

34

嘿,我剛剛創建了自己的JS滑塊,因爲我受夠了沉重的jQuery UI的一個很好的用戶體驗。有興趣聽到人們的想法。已經上了5個小時,所以真的很早。

jsfiddle_slider

-1

下面的代碼應該足以讓你開始。經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> 
16

一個簡單的滑塊:我剛纔測試了這純HTML5,並它是如此簡單

<input type="range"> 

它就像Chrome上的魅力一樣。我還沒有測試過其他瀏覽器。