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