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 style 中visibility和display之间的区别
Jan 22 Javascript
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
单元选择合并变色示例代码
May 26 Javascript
如何防止JavaScript自动插入分号
Nov 05 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
Dec 08 Javascript
vue 2.0组件与v-model详解
Mar 27 Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 Javascript
AngularJS中使用ngModal模态框实例
May 27 Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
php桌面中心(二) 数据库写入
2007/03/11 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
php调用c接口无错版介绍
2014/03/11 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
JS二分查找算法详解
2017/11/01 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
遗传算法之Python实现代码
2017/10/10 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Python unittest单元测试框架总结
2018/09/08 Python
kali中python版本的切换方法
2019/07/11 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
Python程序慢的重要原因
2020/09/04 Python
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
即兴演讲稿
2014/01/04 职场文书
学雷锋的心得体会
2014/09/04 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
干部个人考察材料
2014/12/24 职场文书
公司安全管理制度范本
2015/08/05 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript