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 选择文件夹对话框(web)
Jul 07 Javascript
在html页面上拖放移动标签
Jan 08 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
JavaScript中的闭包
Feb 24 Javascript
jQuery插件实现文字无缝向上滚动效果代码
Feb 25 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
Jan 05 Javascript
深入理解ES6学习笔记之块级作用域绑定
Aug 19 Javascript
Node.js利用断言模块assert进行单元测试的方法
Sep 28 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 Javascript
微信小程序实现简单跑马灯效果
May 26 Javascript
JavaScript对象原型链原理解析
Jan 22 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
Mar 31 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/09/04 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
python中list常用操作实例详解
2015/06/03 Python
python计算一个序列的平均值的方法
2015/07/11 Python
对pandas中apply函数的用法详解
2018/04/10 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python验证身份证信息实例代码
2019/05/06 Python
Python实现扫码工具的示例代码
2020/10/09 Python
python实现定时发送邮件
2020/12/23 Python
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
大学生职业生涯规划书模板
2014/01/03 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
公司员工手册范本
2015/05/14 职场文书
2019年教师入党申请书
2019/06/27 职场文书
python xlwt模块的使用解析
2021/04/13 Python
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
Elasticsearch 基本查询和组合查询
2022/04/19 Python