当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js下用层来实现select的title提示属性

Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
javascript call和apply方法
createElement动态创建HTML对象脚本代码
javascript getElementById 使用方法及用法
javascript脚本调试方法小结
Document和Document.all区别分析
Javascript 对象的解释
javascript 随意拖动的小方块特效
Javascript 陷阱 window全局对象
Javascript hasOwnProperty 方法 & in 关键字
Javascript 构造函数 实例分析
javascript replace()方法的简单分析
javascript 尚未实现错误解决办法
js 对象外部访问或者调用问题
JavaScript模拟下拉菜单代码
js获取鼠标位置杂谈附多浏览器兼容代码
JS获得鼠标位置(兼容多浏览器ie,firefox)IT学习网修正版
JS 自动安装exe程序
javascript 动态添加事件代码
Js callBack 返回前一页的js方法

Javascript 中的 js下用层来实现select的title提示属性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 461 ::
收藏到网摘: n/a

用层来实现select的title 提示属性
复制代码 代码如下:

<script>
function opts(selectObj){
var optDivs=document.createElement("div");
var objTable=document.createElement("table");
var objTbody=document.createElement("tbody");
optDivs.style.zIndex = "100";
objTable.style.zIndex = "100";
objTable.width=selectObj.style.width;
objTable.border = "0";
objTable.cellPadding = "0";
objTable.cellSpacing = "0";
objTable.style.paddingLeft = "2";
objTable.style.fontFamily = "Verdana, Arial, Helvetica, sans-serif";
var e = selectObj;
var absTop = e.offsetTop;
var absLeft = e.offsetLeft;
var absWidth = e.offsetWidth;
var absHeight = e.offsetHeight;
while(e = e.offsetParent){
absTop += (e.offsetTop+0.3);
absLeft += e.offsetLeft;
}
with (objTable.style){
position = "absolute";
top = (absTop + absHeight) + "px";
left = (absLeft+1) + "px";
border = "1px solid black";
tableLayout="fixed";
wordBreak="break-all";
}
var options = selectObj.options;
var val=selectObj.value;
if (options.length > 0){
for (var i = 0; i < options.length; i++){
var newOptDiv = document.createElement("td");
var objRow=document.createElement("tr");
newOptDiv.name=options[i].value;
newOptDiv.innerText=options[i].innerText;
newOptDiv.title=options[i].title;
newOptDiv.onmouseout = function() {this.className='smouseOut';val=selectObj.value};
newOptDiv.onmouseover = function() {this.className='smouseOver';val=this.name;};
newOptDiv.className="smouseOut";
newOptDiv.style.width=40;
newOptDiv.style.cursor="default";
newOptDiv.style.fontSize = "11px";
newOptDiv.style.fontFamily = "Verdana, Arial, Helvetica, sans-serif";
objRow.appendChild(newOptDiv);
objTbody.appendChild(objRow);
}
}

objTbody.appendChild(objRow);
objTable.appendChild(objTbody);
optDivs.appendChild(objTable);
document.body.appendChild(optDivs);
var IfrRef = document.createElement("div");
IfrRef.style.position="absolute";
IfrRef.style.width = objTable.offsetWidth;
IfrRef.style.height = objTable.offsetHeight;
IfrRef.style.top = objTable.style.top;
IfrRef.style.left = objTable.style.left;
IfrRef.style.backgroundColor = document.bgColor;
document.body.appendChild(IfrRef);
objTable.focus();
objTable.onblur=function() {choose(selectObj,val,optDivs,IfrRef)};
}
function choose(objselect,val,delobj,delobj2){
objselect.value=val;
document.body.removeChild(delobj);
document.body.removeChild(delobj2);
}
</script>

<STYLE>
.smouseOut {
background: document.bgColor;
color: #000000;
}
.smouseOver {
background: rgb(0,128,128);
color: #FFFFFF;
cursor: pointer;
}
</style>

<select id='selId' style='width:50px' class='black' onclick="opts(this);">
<option value='1' title="One....">111</option>
<option value='2' title="Two....">222</option>
</select>