select virtual implement

simple implement.
option: support input as text
not support scroll.


<html>
<head>
<title>select demo</title>
<style>
#selectText, #selectItemDiv {
font-size: 10pt;
}
#selectText {
padding-left: 7px;
border: 0;
width: 100px;
height: 22px;
line-height: 22px;
background: url(images/select_bg.gif) no-repeat right;
}

#selectItemDiv {
border: 1px solid #2b2bd3;
border-top: none;
border-radius: 0 0 10px 10px;
height: 80px;
overflow: auto;
background-color: #ececf1;
}
#selectItemDiv ul {
padding: 2px;
margin: 0;
}
#selectItemDiv li {
list-style: outside none;
padding-left: 5px;
height: 22px;
line-height: 22px;
cursor: default;
}
#selectItemDiv li:hover {
background-color: #ccc;
}
</style>
<script>
var $=function(id){
return document.getElementById(id);
}
function showItem(txt, n){
var x=txt.offsetLeft;
var y=txt.offsetTop;
var w=txt.offsetWidth;
var h=txt.offsetHeight;
var fixY=-1;
var fixW=-2;
var d=$("selectItemDiv");
if(d.style.display=="block")
return;
d.style.left=x+"px";
d.style.top=y+h+fixY+"px";
d.style.width=w+fixW+"px";
d.style.height=22*n+4+"px";
d.style.display="block";
txt.style.backgroundImage="url(images/select_bg2.gif)";
}
function hiddenItem(li){
var d=$("selectItemDiv");
if(null!=li)
$("selectText").value=li.innerHTML;
$("selectText").style.backgroundImage="url(images/select_bg.gif)";
$("selectText").focus();
d.style.display="none";
}
function selectKey(e){
var key=e.keyCode;
if(13==key || 27==key)
hiddenItem();
}
</script>
</head>
<body>
select : <div id="selectDiv">
<input type="text" id="selectText" onclick="showItem(this, 6)" onfocus="showItem(this, 6)" onkeyup="selectKey(arguments[0])" />
<div id="selectItemDiv" style="position: absolute; display: none;">
<ul>
<li onclick="hiddenItem(this)">JAVA</li>
<li onclick="hiddenItem(this)">HTML</li>
<li onclick="hiddenItem(this)">JAVASCRIPT</li>
<li onclick="hiddenItem(this)">CSS</li>
<li onclick="hiddenItem(this)">PHOTOSHOP</li>
<li onclick="hiddenItem(this)">ILLUSTRATOR</li>
</ul>
</div>
</div>
<hr size="1" />
<select>
<option value="1">1</option>
<option value="2">a</option>
<option value="3">b</option>
<option value="4">2</option>
</select>
<br />
<input type="text" id="txt" />
</body>
</html>


result

[img]http://dl.iteye.com/upload/attachment/551896/3d300373-350a-324e-8bec-2c9afdbbe634.jpg[/img]

to be continue...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值