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 事件查询综合
Jul 13 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
Sep 11 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 Javascript
无阻塞加载脚本分析[全]
Jan 20 Javascript
js给onclick事件赋值,动态传参数实例解说
Mar 28 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
JQuery之focus函数使用介绍
Aug 20 Javascript
JS+JSP checkBox 全选具体实现
Jan 02 Javascript
详解javascript遍历方式
Nov 11 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
Mar 09 Javascript
javascript实现弹幕墙效果
Nov 28 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 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(8) php 数组
2010/03/05 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
2016/03/17 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
nodejs基础应用
2017/02/03 NodeJs
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
详细介绍Ruby中的正则表达式
2015/04/10 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
毕业生自荐书
2014/02/03 职场文书
小松树教学反思
2014/02/11 职场文书
公司请假条格式
2014/04/11 职场文书
公司出纳岗位职责
2015/03/31 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
Python List remove()实例用法详解
2021/08/02 Python
一条慢SQL语句引发的改造之路
2022/03/16 MySQL