為了提高用戶體驗(yàn)和易用度,一些設(shè)計(jì)師會(huì)對(duì)網(wǎng)頁中用戶經(jīng)常用的東西進(jìn)行優(yōu)化,比如輸入框。一般的輸入框是怎樣優(yōu)化的呢?從用戶體驗(yàn)的角度出發(fā),簡化用戶使用步驟,讓用戶用得更方便就是提高了易用性,例如當(dāng)鼠標(biāo)懸浮在輸入框時(shí)改變輸入框顏色、自動(dòng)選中輸入框中的默認(rèn)文字,或者點(diǎn)擊輸入框時(shí)自動(dòng)清除默認(rèn)內(nèi)容等等。
這個(gè)效果聽起來復(fù)雜,其實(shí)做起來卻很簡單,只要一小段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=dreamweaveronfocus=this.select() />
</form>
這段代碼中最重要的部分就是onfocus這部分,如果不用onfocus,使用onclick也可以達(dá)到同樣效果,比如onfocus=this.select()。
2.鼠標(biāo)懸浮在輸入框上時(shí)改變邊框顏色或背景色
這個(gè)效果有兩種方法:方法一是使用css中的偽元素:focus;方法二還是使用一小段javascript; 方法一的html代碼和上面的例子中一樣,只不過在css中加入以下一段:
代碼如下:
input:hover { border:1px solid #f00; }
在鼠標(biāo)懸浮在輸入框時(shí),輸入框邊框就會(huì)變成紅色,但是此方法只在firefox瀏覽器和ie7以上版本中有效,ie6不支持,所以它有一定的局限性。 方法二的代碼大部分和上面的例子中一樣,只不過在在后面再加入一個(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=dreamweaveronfocus=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)容,然后移開鼠標(biāo),輸入框新內(nèi)容不變;如果不輸入新內(nèi)容,鼠標(biāo)離開輸入框又還原默認(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 />
以上三種效果都是比較簡單的javascript應(yīng)用,雖然已經(jīng)超越了html代碼的范疇,但掌握它們對(duì)html的應(yīng)用和網(wǎng)頁制作帶來很大便利,所以在必要的時(shí)候,掌握一些簡單的javascript也是很有必要的。
更多信息請(qǐng)查看IT技術(shù)專欄