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 相关文章推荐
List Installed Software Features
Jun 11 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
Dec 27 Javascript
原生JS实现加入收藏夹的代码
Oct 24 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
H5移动端图片压缩上传开发流程
Nov 09 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
vue一个页面实现音乐播放器的示例
Feb 06 Javascript
JS 实现分页打印功能
May 16 Javascript
详解vuex状态管理模式
Nov 01 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
Aug 23 Javascript
Vue实现背景更换颜色操作
Jul 17 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
大师制作的中短波矿石收音机
2020/04/02 无线电
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
PHP函数utf8转gb2312编码
2006/12/21 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
Python实现简单的可逆加密程序实例
2015/03/05 Python
Python的gevent框架的入门教程
2015/04/29 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
毕业自我鉴定
2013/11/05 职场文书
单位作风建设自查报告
2014/10/23 职场文书
nginx rewrite功能使用场景分析
2022/05/30 Servers