+ -
当前位置:首页 → 问答吧 → 请JS懂的人帮忙改下代码

请JS懂的人帮忙改下代码

时间:2010-05-21

来源:互联网

我现在就是想点下拉框的时候,傍边出现滚动条,应该怎么更改
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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Select Demo</title>
<style type="text/css">
<!--
       @import url(select2css.css);
-->
</style>
<script type="text/javascript" src="select2css.js"></script>
</head>
<body>
<form id="form" name="form" method="post" action="">
       
<div id="tm2008style">
       <select name="language_tm2008" id="language_tm2008">
              <option value="=请选择=">请选择</option>
              <option value="简体中文" >简体中文</option>
              <option value="日本語" >日本語</option>
              <option value="Deutsch" >Deutsch</option>
              <option value="Espa?ol" >Espa?ol</option>
              <option value="Fran?ais" >Fran?ais</option>
              <option value="Italiano" >Italiano</option>
              <option value="Polski" >Polski</option>
              <option value="Português" >Português</option>
              <option value="Svenska" >Svenska</option>
              <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>
                            <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>
              <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>
              <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>
              <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>
              <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>
              <option value="Türk?e" >Türk?e</option>
              <option value="Руccкий" >Руccкий</option>

       </select>
</div>
</form>
</body>
</html>
[ 本帖最后由 wzcm87 于 2010-5-21 15:43 编辑 ]

作者: wzcm87   发布时间: 2010-05-21

CSS代码:
引用:
body{font:12px/150% "Lucida Grande", Arial, Verdana, Helvetica, sans-serif;}


#tm2008style .select_box{width:102px;height:24px;}


#tm2008style div.tag_select{display:block;color:#000;width:82px;height:22px;background:transparent url("tm2008-select.gif") no-repeat 0 0;padding:0 10px;line-height:22px;}
#tm2008style div.tag_select_hover{display:block;color:#000;width:82px;height:22px;background:transparent url("tm2008-select.gif") no-repeat 0 -22px;padding:0 10px;line-height:22px;}
#tm2008style div.tag_select_open{display:block;color:#000;width:82px;height:22px;background:transparent url("tm2008-select.gif") no-repeat 0 -44px;padding:0 10px;line-height:22px;}

#tm2008style ul.tag_options{position:absolute;margin:0;list-style:none;background:transparent url("tm2008-select.gif") no-repeat left bottom;width:100px;padding:0 0 1px;margin:0;width:80px;}
#tm2008style ul.tag_options li{background:transparent url("tm2008-select.gif") repeat-y -102px 0;display:block;width:61px;padding:0 10px;height:22px;text-decoration:none;line-height:22px;color:#000;
}

#tm2008style ul.tag_options li.open_hover{background:transparent url("tm2008-select.gif") no-repeat 0 -88px;color:#000;}
#tm2008style ul.tag_options li.open_selected{background:transparent url("tm2008-select.gif") no-repeat 0 -66px;color:#19555F}

作者: wzcm87   发布时间: 2010-05-21

JS代码
引用:
/*#############################################################
Name: Select to CSS
Version: 0.2
Author: Utom
URL: http://utombox.com/
#############################################################*/
var selects = document.getElementsByTagName('select');

var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;

function $(id) {
       return document.getElementById(id);
}

function stopBubbling (ev) {       
       ev.stopPropagation();
}

function rSelects() {
       for (i=0;i<selects.length;i++){
              selects[i].style.display = 'none';
              select_tag = document.createElement('div');
                     select_tag.id = 'select_' + selects[i].name;
                     select_tag.className = 'select_box';
              selects[i].parentNode.insertBefore(select_tag,selects[i]);

              select_info = document.createElement('div');       
                     select_info.id = 'select_info_' + selects[i].name;
                     select_info.className='tag_select';
                     select_info.style.cursor='pointer';
              select_tag.appendChild(select_info);

              select_ul = document.createElement('ul');       
                     select_ul.id = 'options_' + selects[i].name;
                     select_ul.className = 'tag_options';
                     select_ul.style.position='absolute';
                     select_ul.style.display='none';
                     select_ul.style.zIndex='999';
              select_tag.appendChild(select_ul);

              rOptions(i,selects[i].name);
              
              mouseSelects(selects[i].name);

              if (isIE){
                     selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"');window.event.cancelBubble = true;");
              }
              else if(!isIE){
                     selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"')");
                     selects[i].addEventListener("click", stopBubbling, false);
              }              
       }
}


function rOptions(i, name) {
       var options = selects[i].getElementsByTagName('option');
       var options_ul = 'options_' + name;
       for (n=0;n<selects[i].options.length;n++){       
              option_li = document.createElement('li');
                     option_li.style.cursor='pointer';
                     option_li.className='open';
              $(options_ul).appendChild(option_li);

              option_text = document.createTextNode(selects[i].options[n].text);
              option_li.appendChild(option_text);

              option_selected = selects[i].options[n].selected;

              if(option_selected){
                     option_li.className='open_selected';
                     option_li.id='selected_' + name;
                     $('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));
              }
              
              option_li.onmouseover = function(){       this.className='open_hover';}
              option_li.onmouseout = function(){
                     if(this.id=='selected_' + name){
                            this.className='open_selected';
                     }
                     else {
                            this.className='open';
                     }
              }
       
              option_li.onclick = new Function("clickOptions("+i+","+n+",'"+selects[i].name+"')");
       }
}

function mouseSelects(name){
       var sincn = 'select_info_' + name;

       $(sincn).onmouseover = function(){ if(this.className=='tag_select') this.className='tag_select_hover'; }
       $(sincn).onmouseout = function(){ if(this.className=='tag_select_hover') this.className='tag_select'; }

       if (isIE){
              $(sincn).onclick = new Function("clickSelects('"+name+"');window.event.cancelBubble = true;");
       }
       else if(!isIE){
              $(sincn).onclick = new Function("clickSelects('"+name+"');");
              $('select_info_' +name).addEventListener("click", stopBubbling, false);
       }

}

function clickSelects(name){
       var sincn = 'select_info_' + name;
       var sinul = 'options_' + name;       

       for (i=0;i<selects.length;i++){       
              if(selects[i].name == name){                            
                     if( $(sincn).className =='tag_select_hover'){
                            $(sincn).className ='tag_select_open';
                            $(sinul).style.display = '';
                     }
                     else if( $(sincn).className =='tag_select_open'){
                            $(sincn).className = 'tag_select_hover';
                            $(sinul).style.display = 'none';
                     }
              }
              else{
                     $('select_info_' + selects[i].name).className = 'tag_select';
                     $('options_' + selects[i].name).style.display = 'none';
              }
       }

}

function clickOptions(i, n, name){              
       var li = $('options_' + name).getElementsByTagName('li');

       $('selected_' + name).className='open';
       $('selected_' + name).id='';
       li[n].id='selected_' + name;
       li[n].className='open_hover';
       $('select_' + name).removeChild($('select_info_' + name));

       select_info = document.createElement('div');
              select_info.id = 'select_info_' + name;
              select_info.className='tag_select';
              select_info.style.cursor='pointer';
       $('options_' + name).parentNode.insertBefore(select_info,$('options_' + name));

       mouseSelects(name);

       $('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));
       $( 'options_' + name ).style.display = 'none' ;
       $( 'select_info_' + name ).className = 'tag_select';
       selects[i].options[n].selected = 'selected';

}

window.onload = function(e) {
       bodyclick = document.getElementsByTagName('body').item(0);
       rSelects();
       bodyclick.onclick = function(){
              for (i=0;i<selects.length;i++){       
                     $('select_info_' + selects[i].name).className = 'tag_select';
                     $('options_' + selects[i].name).style.display = 'none';
              }
       }
}

作者: wzcm87   发布时间: 2010-05-21

tm2008-select.gif (2.14 KB)
2010-5-21 15:44

作者: wzcm87   发布时间: 2010-05-21