為了提高用戶體驗(yàn)和易用度,一些設(shè)計(jì)師會(huì)對(duì)網(wǎng)頁(yè)中用戶經(jīng)常用的東西進(jìn)行優(yōu)化,比如輸入框。一般的輸入框是怎樣優(yōu)化的呢?從用戶體驗(yàn)的角度出發(fā),簡(jiǎn)化用戶使用步驟,讓用戶用得更方便就是提高了易用性,例如當(dāng)鼠標(biāo)懸浮在輸入框時(shí)改變輸入框顏色、自動(dòng)選中輸入框中的默認(rèn)文字,或者點(diǎn)擊輸入框時(shí)自動(dòng)清除默認(rèn)內(nèi)容等等。
這個(gè)效果聽(tīng)起來(lái)復(fù)雜,其實(shí)做起來(lái)卻很簡(jiǎn)單,只要一小段javascript代碼即可解決。下面介紹一下幾種效果的代碼。
1.點(diǎn)擊輸入框選中內(nèi)容的Html代碼:
<form id="form1" name="form1" method="post" action="">
<label for="textfield">輸入內(nèi)容:</label>
<input name="textfield" type="text" id="textfield" value="Dreamweaver"onfocus="this.select()" />
</form>
這段代碼中最重要的部分就是onfocus這部分,如果不用onfocus,使用onclick也可以達(dá)到同樣效果,比如onfocus="this.select()"。
2.鼠標(biāo)懸浮在輸入框上時(shí)改變邊框顏色或背景色
這個(gè)效果有兩種方法:方法一是使用CSS中的偽元素:focus;方法二還是使用一小段javascript; 方法一的html代碼和上面的例子中一樣,只不過(guò)在CSS中加入以下一段:
input:hover { border:1px solid #F00; }
在鼠標(biāo)懸浮在輸入框時(shí),輸入框邊框就會(huì)變成紅色,但是此方法只在Firefox瀏覽器和IE7以上版本中有效,IE6不支持,所以它有一定的局限性。 方法二的代碼大部分和上面的例子中一樣,只不過(guò)在在后面再加入一個(gè)一段鼠標(biāo)懸浮的代碼:
<form id="form1" name="form1" method="post" action="">
<label for="textfield">輸入內(nèi)容:</label>
<input name="textfield" type="text" id="textfield" value="Dreamweaver"onfocus="this.select()" onmouseover="this.style.borderColor='#FF6600'" onmouseout="this.style.borderColor=''" />
</form>
使用這段代碼,大多數(shù)瀏覽器都可以支持。
3.點(diǎn)擊輸入框默認(rèn)文字消失
還有一種效果,當(dāng)鼠標(biāo)點(diǎn)擊輸入框時(shí),原有的默認(rèn)文字消失。如果輸入其它新內(nèi)容,然后移開(kāi)鼠標(biāo),輸入框新內(nèi)容不變;如果不輸入新內(nèi)容,鼠標(biāo)離開(kāi)輸入框又還原默認(rèn)文字。 這種效果也只用加入一小段javascript判斷即可完成:
<form id="form1" name="form1" method="post" action="">
<label for="textfield">輸入內(nèi)容:</label>
<input name="textfield" type="text" id="textfield" value="Dreamweaver" onmouseover="this.style.borderColor='#FF6600'" onmouseout="this.style.borderColor=''" onFocus="if (value =='Dreamweaver'){value =''}" onBlur="if (value ==''){value='Dreamweaver'}"/>
</form>
HTML5中可以直接使用input的placeholder屬性:
<input type="search" name="user_search" placeholder="Search W3School" />
以上三種效果都是比較簡(jiǎn)單的javascript應(yīng)用,雖然已經(jīng)超越了Html代碼的范疇,但掌握它們對(duì)Html的應(yīng)用和網(wǎng)頁(yè)制作帶來(lái)很大便利,所以在必要的時(shí)候,掌握一些簡(jiǎn)單的javascript也是很有必要的。