所有的HTML元件的使用方式,大多可以由W3school習得 ;
但是,W3school沒告訴我們的是為什麼要用這個元件?
或者什麼時候用這個元件?更或者怎樣使用這個元件使用者才會覺得好操作?
延續part1與part2的主軸繼續寫下去!沒有時間及比賽的壓力,自我挑戰看看能不能寫出一系列文!
一般會採用 type="range"
或者 jQuery UI 中的 slider bar
元件,其目的
不外乎是希望使用者輸入帶有上下限的一系列數值,並避免空值
的產生。
以W3School範例來看,預設數值為0~10 ; 當使用者拖曳滑塊時
按下送出按鈕
後即可獲得使用者相對於預設值
移動產生的對應值
!
而type="range"
常用的屬性如下:
step
:設定滑動的增加量max
:設定最大值min
:設定最小值
完整的屬性請參考這裡。
再次強調,不論是part2介紹的下拉選單
或者本篇介紹的type="range"
,因其均具有預設值特性,均能避免使用者輸入空值
!
再來就是這個元件在使用上真正遇到的困境:IE瀏覽器
!
看看微軟對於type="range"
釋出的測試頁面:
<html>
<head>
<title>Range and progress example</title>
<style type="text/css">
input[type=range]
{
padding-left: 0px;
padding-right: 0px;
}
</style>
<script type="text/javascript">
function changeValue() {
document.getElementById("progCtrl").value =
document.getElementById("rangeCtrl").value;
}
document.addEventListener('DOMContentLoaded', function () {
document.getElementById("rangeCtrl")
.addEventListener('change', changeValue, false);
}, false);
</script>
</head>
<body>
<progress id="progCtrl" max="100" >Sorry, your browser doesn't support the progress bar.</progress>
<br>
<br>
<input id="rangeCtrl" type="range" min="0" max="100" step="5" value="50"/>
</body>
</html>
IE
與Chrome
瀏覽器的顯示畫面如下:
IE
直接丟出『抱歉!您的瀏覽器不支援progress bar。』
所以當客戶要求開發者再IE
上實現type="range"
功能時,只好採用其他套件(ex: jQuery UI)
自己刻一個出來!然後『切記要告知客戶這部分的額外開發成本
』!
補上Safari
瀏覽器的顯示畫面如下:
(據以前主管說法,Safari的原型似乎是從Firefox改來的,未求證!)
類似的元件還有 type="date"。
以上就是小弟的分享,歡迎版上大大及高手們針對『如何說服客戶不該再使用IE瀏覽器
』
能給些溝通上的意見!
先開第一槍:『IE瀏覽器不支援type="range"與"date"
!』這類型的功能如要實現在IE瀏覽器
上要另計開發成本!