当前位置: 代码迷 >> JavaScript >> JS习题-模拟select
  详细解决方案

JS习题-模拟select

热度:370   发布时间:2012-09-03 09:48:39.0
JS练习-模拟select

JQ的,写的不好~

?

?

<ul id="main_box">

  <li class="select_box">

    <span>请选择...</span>

    <ul class="son_ul">

      <li>选项一</li>

      <li>选项二</li>

      <li>选项三</li>

      <li>选项四</li>

      <li>选项五</li>

    </ul>

  </li>

</ul>

?$(document).ready(function(){

?

							 $('.son_ul').hide(); //初始ul隐藏

							 $('.select_box span').hover(function(){ //鼠标移动函数

																  $(this).parent().find('ul.son_ul').slideDown();  //找到ul.son_ul显示

																  $(this).parent().find('li').hover(function(){$(this).addClass('hover')},function(){$(this).removeClass('hover')}); //li的hover效果

																  $(this).parent().hover(function(){},

																						 function(){

																							 $(this).parent().find("ul.son_ul").slideUp(); 

																							 }

																						 );

																  },function(){}

																  );

	 $('ul.son_ul li').click(function(){

															  $(this).parents('li').find('span').html($(this).html());

															  $(this).parents('li').find('ul').slideUp();

															  });

							 }

							 );

* {margin:0; padding:0; font-size:12px;}
ul,li {list-style-type:none;}
.select_box {width:150px; border:1px solid #ccc; padding-right:20px; padding-left:10px; background:url(107.gif) no-repeat 160px center; position:relative;}
.select_box span {cursor:pointer; display:block; line-height:25px; width:100%; height:25px; overflow:hidden;}
.select_box ul li {cursor:pointer;}
.son_ul {width:179px; position:absolute; left:0; top:25px; border:1px dashed #ccc; background:#fff;}
.son_ul li {display:block; line-height:25px; padding-left:10px; width:169px}
.hover {background:#ccc;}
?其实还可以弄个select,读option的值,总之超烂~
  相关解决方案