代教材之(用DIV+CSS定义漂亮下拉框select)

  1 <!DOCTYPE HTML>
  2 <html>
  3     <head>
  4         <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6     <title>代教材之(用DIV+CSS定义漂亮下拉框)</title>
  7 <script type="text/javascript" src="http://common.cnblogs.com/script/jquery.js" charset="utf-8"></script>
  8 <style type="text/css">
  9 *{
 10     margin: 0px;
 11     padding: 0px;
 12     font-size: 13px;
 13     font-family: "微软雅黑","宋体";
 14 }
 15 ul{
 16     list-style: none;
 17     width: 400px;
 18     margin: 0 auto;
 19 }
 20 
 21 .div1{
 22     width: 100%;
 23     height: 200%;
 24 }
 25 
 26 .u-d-con{
 27     width: 270px !important;
 28     position: relative;
 29     float: left;
 30     margin-right: 360px;
 31 }
 32 strong{
 33     display: block;
 34     width: 100%;
 35     font-size: 16px;
 36     color: #34495E;
 37     text-align: left;
 38     font-weight: normal;/*字体非粗*/
 39     margin-top: 30px;
 40     margin-bottom: 10px;
 41     position: relative;
 42 }
 43 strong span{
 44     font-size: 14px;
 45     margin-left: 10px;
 46     color: #88848E;
 47 }
 48 .must{/*必填项小桔点*/
 49     background: url(http://images.cnblogs.com/cnblogs_com/gubook/541083/o_works-icons.png) no-repeat scroll -365px -911px transparent;
 50     width: 7px;
 51     height: 7px;
 52     top:20px;/*相对父级元素*/
 53     right: 15px;
 54     position: absolute;
 55 }
 56 
 57 .selectBox { 
 58     background:#FFFFFF; 
 59     border: #b8c4ce 1px solid; 
 60     cursor:pointer; 
 61     display:block; 
 62     float: left; 
 63     width: 270px; 
 64     height: 48px;
 65 }
 66 .selectBox:hover{
 67     border: 1px solid #4BA4DD; 
 68 }
 69 .selectBoxHover {    }
 70 .selectBox .selectValue { 
 71     position: relative; 
 72     overflow: hidden; 
 73     display: block; 
 74 }
 75 .selectBox .selectValue p { 
 76     display:block; 
 77     height: 36px; 
 78     line-height: 36px; 
 79     padding: 6px 30px 6px 20px; 
 80     white-space:nowrap; /*强制一行*/
 81     overflow:hidden;/*和这个配合隐藏*/
 82     color:#5d6d7e; 
 83      font-size: 14px; 
 84 }
 85 .selectBox .selectValue i { 
 86     position: absolute; 
 87     top: 0; 
 88     right: 30px; 
 89     display:block; 
 90     height: 50px; 
 91     width: 20px; 
 92     overflow:hidden; 
 93     background: url(http://images.cnblogs.com/cnblogs_com/gubook/541083/o_select-down.png) no-repeat 0 0; /*箭头向下*/
 94 }
 95 .selectBox .selectBoxHover i { 
 96     background: url(http://images.cnblogs.com/cnblogs_com/gubook/541083/o_select-down.png) no-repeat 0 -50px;  /*箭头向上*/
 97 }
 98 
 99 .selectBoxOptions { 
100     background:#FFFFFF; 
101     margin-left: -1px; 
102     border: #b8c4ce 1px solid; 
103     list-style:none;    
104     overflow-y:auto; 
105     z-index:1000;/*越大越顶层*/    
106     position: absolute;    
107     width:270px; 
108     display:none; 
109 }
110 .selectBoxOptions a {    
111     font-family: "宋体","微软雅黑","Arial";
112     color: #7f7f7f;    
113     display:block;    
114     height:36px; 
115     line-height:36px; 
116     padding-left:20px; 
117     background:#fff; 
118     overflow:hidden; 
119     white-space:nowrap; 
120     font-size: 14px; 
121 }
122 /*解决firefox选中边框*/
123 .selectBox a { 
124     outline: none; 
125     text-decoration:none; 
126 }
127 .selectBox a:focus { 
128     outline: none; 
129     text-decoration:none; 
130 } 
131 a.selected{
132     background: #3498db;
133     color: #FFF;
134 }
135 .selectBoxOptions a:hover{ 
136     background: #eae9e9; 
137     color: #222; 
138 }
139 </style>
140 </head>
141 <body>
142 <div class="div1">
143     <div class="clearfix">
144                 <div style="float:left;width:272px;margin-left:100px;">
145                     <strong >
146                         认知度
147                         <span>
148                             知晓.兴趣.意向.尝试.重复>习惯
149                         </span>
150                     </strong> <!--标题-->
151                     <div class="clearfix">
152                         <div class="u-d-con" style="width:272px;">
153                             <div id="selectBox-kesid" class="selectBox">
154                                 <input type="hidden" value="" id="kesid" name="kesid" />
155                                 <a class="selectValue" href="javascript:;">
156                                     <p id="selectValueSpan-kes">
157                                         请选择认知度
158                                     </p>
159                                     <i></i>
160                                 </a>
161                                 <ul class="selectBoxOptions">
162                                     <li class="selectBoxItem">
163                                         <a href="javascript:;" class="selected" rel="点击左边选项,此内容会变">请选择认知度</a>
164                                     </li>
165                                     <li class="selectBoxItem">
166                                         <a href="javascript:;" rel="知晓"  >知晓</a>
167                                     </li>
168                                     <li class="selectBoxItem">
169                                         <a href="javascript:;" rel="兴趣"  >兴趣</a>
170                                     </li>
171                                     <li class="selectBoxItem">
172                                         <a href="javascript:;" rel="意向"  >意向</a>
173                                     </li>
174                                     <li class="selectBoxItem">
175                                         <a href="javascript:;" rel="尝试"  >尝试</a>
176                                     </li>
177                                     <li class="selectBoxItem">
178                                         <a href="javascript:;" rel="重复"  >重复</a>
179                                     </li>
180                                     <li class="selectBoxItem">
181                                         <a href="javascript:;" rel="习惯"  >习惯</a>
182                                     </li>
183                                 </ul>
184                             </div>
185                             <span class="must"></span><!--必填项小桔点-->
186                         </div>
187                     </div>
188                 </div>
189 
190                 <div style="float:right;width:272px;margin-right:100px;"><!--测试input里面数据保持和隐藏的input一致-->
191                     <input type="text" id="testinput" value="点击左边选项,此内容会变" style="border:1px solid red;width:200px;height:35px;" />
192                 </div>
193 
194     </div>
195     <script type="text/javascript">
196             $("#selectBox-kesid").click(function(){//当点击p 标签时
197                 var $this = $(this);
198                 var o = $this.find('.selectBoxOptions').css('display');/*定义变量o,获取ul的display属性*/
199                 if( o == 'none' ){/*如果ul为隐藏,display:none;*/
200                     $this.find(".selectBoxOptions").show();/*显示ul*/
201                     $this.find('.selectValue').addClass('selectBoxHover');/*给a添加class ,用意为让小箭头向上*/
202                     $this.find(".selectBoxItem a").click(function(){/* 当li里面的a被点击 时*/
203                     $(this).blur();
204                     var value = $(this).attr("rel");/*定义变量value 并将a的属性rel的值赋值给变量value*/
205                     var txt = $(this).text();    /*定义变量txt 并将<a></a>之前的文本内容赋值给变量txt*/
206                     $this.find('#kesid').val(value);/*将id为kesid的input的value变成 变量value的值*/
207                     $("#testinput").val(value);/*右边input的值*/
208                     $this.find('#selectValueSpan-kes').text(txt);/*将默认的p 的文本换成变量txt的值*/
209                     $this.find('.selectBoxItem a').removeClass('selected');/*去除所有a的蓝底白字样式*/
210                     $(this).addClass("selected");/*当前点击对象添加蓝底白字样式*/
211                     $this.find('.selectBoxOptions').hide();/*隐藏ul*/
212                     $this.find('.selectValue').removeClass('selectBoxHover');/*移除a的class,用意为让小箭头向下*/                
213                     return false;
214                     });                
215                 }else{
216                     $this.find(".selectBoxOptions").hide();/*隐藏ul*/
217                     $this.find('.selectValue').removeClass('selectBoxHover');/*移除a的class,用意为让小箭头向下*/        
218                 }            
219                 /*点击任何地方关闭层*/
220                 $(document).click(function(event){
221                     var tar = $(event.target).attr("class");/*当点击除当前主体div的以外任意文档位置时*/
222                     if( tar != $this ){
223                         $this.find(".selectBoxOptions").hide();/*隐藏ul*/
224                         $this.find('.selectValue').removeClass('selectBoxHover');/*移除a的class,用意为让小箭头向下*/        
225                     }
226                 });
227                 return false;
228             });
229     </script>
230 </div>
231 
232 </body>
233 </html>
posted @ 2014-07-17 00:06  gubook  阅读(763)  评论(0编辑  收藏  举报