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


Posted in Javascript onFebruary 23, 2010
<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>
Javascript 相关文章推荐
jQuery html()等方法介绍
Nov 18 Javascript
Jquery 动态添加按钮实现代码
May 06 Javascript
基于jQuery的倒计时插件代码
May 07 Javascript
修复IE9&amp;safari 的sort方法
Oct 21 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
Feb 25 Javascript
jQuery实现的原图对比窗帘效果
Jun 15 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
基于jQuery实现放大镜特效
Oct 19 Javascript
node.js实现登录注册页面
Apr 08 Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
Sep 21 Javascript
jquery 锁定弹出层实现代码
Feb 23 #Javascript
javascript document.compatMode兼容性
Feb 23 #Javascript
js操作ajax返回的json的注意问题!
Feb 23 #Javascript
javascript入门基础之私有变量
Feb 23 #Javascript
第一个JavaScript入门基础 document.write输出
Feb 22 #Javascript
jQuery入门问答 整理的几个常见的初学者问题
Feb 22 #Javascript
jQuery 操作下拉列表框实现代码
Feb 22 #Javascript
You might like
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
php汉字转拼音的示例
2014/02/27 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
PHP7 新增功能
2021/03/09 PHP
VBScript版代码高亮
2006/06/26 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python使用chardet判断字符编码
2015/05/09 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
python使用RNN实现文本分类
2018/05/24 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
绝对经典成功的大学生推荐信
2013/11/08 职场文书
策划主管的工作职责
2013/11/24 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
大学辅导员述职报告
2015/01/10 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
小学教师见习总结
2015/06/23 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫