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 相关文章推荐
js event事件的传递与冒泡处理
Dec 06 Javascript
让div层随鼠标移动的实现代码 ie ff
Dec 18 Javascript
javascript日期转换 时间戳转日期格式
Nov 05 Javascript
js怎么覆盖原有方法实现重写
Sep 04 Javascript
jQuery源码解读之removeAttr()方法分析
Feb 20 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
Bootstrap页面布局基础知识全面解析
Jun 13 Javascript
JavaScript仿聊天室聊天记录
Dec 27 Javascript
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
微信小程序实现签到功能
Oct 31 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
Oct 30 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编写的导航条程序
2006/10/09 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
matplotlib设置legend图例代码示例
2017/12/19 Python
深入浅析Python中的yield关键字
2018/01/24 Python
python使用mysql的两种使用方式
2018/03/07 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
CSS3中的transform属性进行2D和3D变换的基本用法
2016/05/12 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
总结表彰大会主持词
2014/03/26 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
医院志愿者活动总结
2015/05/06 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
Django drf请求模块源码解析
2021/06/08 Python
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL