87,914
社区成员
发帖
与我相关
我的任务
分享
.value_div_bg{
width:200px;
height: 24px;
border: 1px solid #888888;
float: left;
padding-top: 5px;
padding-left: 3px;
background: url( ../images/select/select_bg.bmp ) 98% center no-repeat;
}
.data_div{
border: 1px solid #888888; width: 100%;background-color: white;display:none;
position:absolute;
}
.itemDiv{
display: block;
padding-left: 3px;
padding-top: 3px;
width:100%;
height: 20px;
border-top:1px dotted white;
border-bottom:1px dotted white;
cursor: pointer;
}
.pickDiv{
display: block;
width:100%;
background-color: #DDDBD6;
border-top:1px dotted black;
border-bottom:1px dotted #888888;
cursor: pointer;
padding-left: 3px;
padding-top: 3px;
height: 20px;
}
a:link {
color: #000;
text-decoration: none;
}
a:visited {
color: #000;
text-decoration: none;
}
a:hover {
color: #000;
text-decoration: none;
}
a:active {
color: #000;
text-decoration: none
}
//浏览器类型以及版本
var brow = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie (\d+)/)) ? brow.ie = s[1] :
(s = ua.match(/firefox\/(\d+)/)) ? brow.firefox = s[1] :
(s = ua.match(/chrome\/(\d+)/)) ? brow.chrome = s[1] :
(s = ua.match(/opera.(\d+)/)) ? brow.opera = s[1] :
(s = ua.match(/version\/(\d+).*safari/)) ? brow.safari = s[1] : 0;
function addEventHandler(element,eventN,eventM){
if(!element){
return;
}
if(element.addEventListener){
element.addEventListener(eventN,eventM,false);
}else if(element.attachEvent){
element.attachEvent('on'+eventN,eventM)
}else{
element['on'+eventN] = eventM;
}
}
function removeEventHandler(element,eventN,eventM){
if(!element){
return;
}
if(element.removeEventListener){
element.removeEventListener(eventN,eventM,false);
}else if(element.detachEvent){
element.detachEvent('on' + eventN,eventM);
}else{
element['on' + eventN] = null;
}
}
function getNode(id){
return typeof(id) == 'string' ? document.getElementById(id) : id;
}
function createSelect(id){
var obj = getNode(id);
var dataAll = getNextChild(obj);
if(dataAll){
if(dataAll.tagName == "DIV"){
if(dataAll.innerHTML != ''){
obj.className = 'value_div_bg';
dataAll.className = 'data_div';
dataAll.style.top = obj.offsetTop + obj.offsetHeight + 'px';
dataAll.style.left = obj.offsetLeft + 'px';
dataAll.style.width = (brow.ie ? obj.offsetWidth : obj.clientWidth) + 'px';
addEventHandler(document,'click',
function(e){
var event = e.target || window.event.srcElement;
if(obj == event){
dataAll.style.display = 'block';
return;
}
if(dataAll != event)
dataAll.style.display = 'none';
}
)
changeCurData(obj,getFirstChild(dataAll.childNodes[0]));
var data = getChildren(dataAll);
for(var i=0; i <data.length;i++){
data[i].className = "itemDiv";
addEventHandler(data[i],'mouseover',
function(e){var event = e.target || window.event.srcElement;event.className = 'pickDiv';}
);
addEventHandler(data[i],'mouseout',
function(e){ var event = e.target || window.event.srcElement;event.className = 'itemDiv';}
);
addEventHandler(data[i],'click',
function(e){var event = e.target || window.event.srcElement;dataAll.style.display = 'none';changeCurData(obj,event);}
);
}
}else{
document.body.removeChild(dataAll);
}
}
}
}
function changeCurData(objChange, objSource){
objChange.setAttribute('value',objSource.getAttribute('value'));
objChange.innerHTML = objSource.innerHTML;
}
function getNextChild(obj){
var child = obj.nextSibling;
var childTagName = obj.tagName;
while (child) {
if (child.tagName == childTagName.toUpperCase()) {
return child;
}
child = child.nextSibling;
}
return null;
}
function getFirstChild(child){
while (child) {
if (child.nodeType == 1) {
return child;
}
child = child.nextSibling;
}
return null;
}
function getChildren(parentObj){
var child = parentObj.firstChild;
var items = [];
while (child) {
if (child.nodeType == 1) {
items.push(child);
}
child = child.nextSibling;
}
return items;
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<link href="./styles/selectNode.css" rel="stylesheet" type="text/css"/>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="./scripts/selectNode.js"></script>
<script type="text/javascript">
function init(){
createSelect('test');
createSelect('test1');
}
function test(id){
var obj = document.getElementById(id);
alert(obj.getAttribute('value') + "======" +obj.innerHTML)
}
</script>
</HEAD>
<BODY onload='init()'>
<div id=test>
</div>
<div>
<div value='1'>aaa</div>
<div value='2'>bbb</div>
<div value='3'>ccc</div>
<div value='4'>ddd</div>
</div>
<div id=test1>
</div>
<div>
<div value='1'>aaa</div>
<div value='2'>dfdf</div>
<div value='3'>ccc</div>
<div value='4'>ddd</div>
</div>
<br>
<br>
<input type='button' onclick='test("test")' value='testData'/>
<input type='button' onclick='test("test1")' value='test1Data'/>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js/jquery-1.2.js"></script>
<script type="text/javascript">
$(function($){
$("#selTest option").each(function(){
$(this).hover(
function(){
alert(this.innerHTML);
},
function(){
return;
}
);
});
});
</script>
<title></title>
</head>
<body>
<select id="selTest" >
<option >请选择</option>
<option >111</option>
<option >222</option>
</select>
<div class="footer"></div>
</div>
</body>
</html>
<select id="aaaa" name="sgsgs" >
<option value="" onmousemove="show(this.text)">dadadaad</option>
<option value="" onmousemove="show(this.text)">4234242</option>
</select>
<table>
<tr>
<td id="aaa">hfhfhf
</td>
</tr>
</table>
<script Language="JavaScript">
var i=0
function show(aa){
document.getElementById("aaa").innerHTML=i+aa;
i++;
}
</script>
可惜IE不支持