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 相关文章推荐
XHTML下,JS浮动代码失效的问题
Nov 12 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
Mar 11 Javascript
Javascript 面向对象之重载
May 04 Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
jQuery采用连缀写法实现的折叠菜单效果
Sep 18 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
javascript中replace使用方法总结
Mar 01 Javascript
JS实现简单的浮动碰撞效果示例
Dec 28 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
Sep 20 Javascript
深入了解JS之作用域和闭包
Jun 16 Javascript
Openlayers绘制聚合标注
Sep 28 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
简单的过滤字符串中的HTML标记
2006/12/25 PHP
PHP获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
python比较两个列表是否相等的方法
2015/07/28 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Python制作刷网页流量工具
2017/04/23 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python定位xpath 节点位置的方法
2019/08/27 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
指针和引用有什么区别
2013/01/13 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
团组织关系介绍信
2014/01/12 职场文书
洗发露广告词
2014/03/14 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python