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 相关文章推荐
javascript flash下fromCharCode和charCodeAt方法使用说明
Jan 12 Javascript
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 Javascript
js获取当月最后一天实例代码
Nov 19 Javascript
JavaScript的9种继承实现方式归纳
May 18 Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 Javascript
AngularJS 服务详细讲解及示例代码
Aug 17 Javascript
JavaScript中push(),join() 函数 实例详解
Sep 06 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
node通过express搭建自己的服务器
Sep 30 Javascript
jQuery事件委托代码实践详解
Jun 21 jQuery
JS数组扁平化(flat)方法总结详解
Jun 24 Javascript
JavaScript实现简单计算器
Mar 19 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实现递归循环每一个目录
2010/08/08 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
CI框架中zip类应用示例
2014/06/17 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
python实现Decorator模式实例代码
2018/02/09 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
小学数学课后反思
2014/04/23 职场文书
电子商务专业自荐信
2014/06/02 职场文书
员工生日会策划方案
2014/06/14 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书