1. 程式人生 > >select樣式

select樣式

關於Select寬度設定 
在使用Select時,有時候需要固定寬度,有時候需要自適應,下面說下要設定固定寬度時要注意的地方:
控制元件設定寬度一般是直接指定width屬性即可,但Select設定固度是使用style=”width:n”的形式設定,如果只設置width屬性,則Select的寬度還是會隨下面選擇項的寬度變化而變化的,如:
<select width=”20px”>
<option>1111111111111111111</option>
<option>22</option>
<option>1</option>
<option>44444444444444444444444444444444</option>
</select>
則Select的寬度是第四個選項的寬度,即最終頁面上顯示的Select寬度肯定是大於20px的,如果是這種方式:
<select style=”width:20px”>
<option>1111111111111111111</option>
<option>22</option>
<option>1</option>
<option>44444444444444444444444444444444</option>
</select>
則Select的寬度會固定為20px,即第四個選項會顯示不完整,達到了固定Select寬度的目的.
自動調整為最大長度:
<select   style=”width:expression_r((this.offsetWidth>100)?’auto’:’100’)”>   
<option   >hellohellohellohellohellohellohellohellohellohello</option>
</select>
<br/>   


滑鼠點時自動變成最大長度,離開或選中時恢復原長度
<select name=s2 style=”width:50px” onFocus=”this.style.width=’auto’” onblur=”this.style.width=’50px’” onChange=”this.style.width = ‘50px’” style=”width:50px”>
<option></option><option>1111111111111111111111111111</option>
<option>2222222222222222222</option>
</select>
<br>
滑鼠滑過時自動變成最大長度,離開或選中時恢復原長度
<select name=s2 style=”width:50px” onmouseover=”this.style.width=’auto’” onblur=”this.style.width=’50px’” onChange=”this.style.width = ‘50px’” style=”width:50px”>
<option></option><option>1111111111111111111111111111</option>
<option>2222222222222222222</option>
</select>


<br>
選擇後在頁面的其它位置顯示選擇的專案
<div   id=dsp></div>   
<select   name=”select”   size=”1”   onchange=”dsp.innerText=this.options[this.selectedIndex].text”>   
<option   value=”1”>test</option>   
<option   value=”2”   selected>test2</option>   
</select> 


<br>
滑鼠滑過時顯示當前選擇的專案的值
<div id=div1 style=”overflow:auto;height:expression_r(5。15);width:expression_r(document.all.s1.offsetWidth+18);”> 
<select name=s1 size=1 style=”width:120” onmousemove=”showTitle(this);” onmouseout=”hideTitle(this);”> 
<option>aaaaaaaaaaaaaaaaaaaaaa1 </option>
<option >bbbbbbbbbbbbbbbbbbbbbbbbb1 </option>
<option>cccccccccccccccccccccccc1 </option>
<option>ddddddddddddddddddddddd1 </option>
<option>eeeeeeeeeeeeeeeeeeeeeee1 </option>
<option>fffffffffffffffffffffffffff1 </option>
</select> 
</div> 
<script> 
// 定義Popup 
var oP=window.createPopup(); 
oP.document.body.style.background=”beige”; 
//popup 是否已顯示
var oPShow=0; 
function showTitle(obj){ 
var h=event.offsetY; 
var fontsize=(obj.style.fontSize==”“?(obj.currentStyle.fontSize==”“?”9”:obj.currentStyle.fontSize):obj.style.fontSize); 
fontsize=parseInt(fontsize)*1.6; 
var l=parseInt(h/fontsize); 
oP.document.body.innerText=obj.options[l].text; 
len=obj.options[l].text.length*8; 
oP.show(event.offsetX+20,event.offsetY+fontsize+5,len,fontsize,document.body); 
oPShow=1; 

function hideTitle(obj){ 
if(oPShow==1)oP.hide(); 

</script>