为了账号安全,请及时绑定邮箱和手机立即绑定

效果出现问题~

使用.hide和.show,在空白点击字体颜色为灰色,不能变为黑色,已将#allProvince换为.province ul,望解惑~

完整代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>下拉列表</title>

<link rel="stylesheet" href="css/public.css" type="text/css">

<style>

body {

font: 16px/32px "微软雅黑";

background: #333;

}

#box {

width: 500px;

height: 326px;

border: 3px solid #000;

background: #fff;

position: absolute;

left: 50%;

top: 50%;

margin: -163px 0 0 -250px;

}

.province {

width: 320px;

height: 42px;

background: #c00;

margin: 80px auto;

position: relative;

}

.province strong {

width: 64px;

height: 42px;

line-height: 42px;

display: block;

float: left;

color: #fff;

padding-left: 10px;

}

#selectProvince {

width: 200px;

height: 28px;

display: block;

float: left;

background: #fff url(images/province_sprites.png) no-repeat 190px 1px;

margin-top: 7px;

padding-left: 8px;

color: #ccc;

cursor: pointer;

}

.province ul {

width: 309px;

line-height: 30px;

padding-left: 10px;

border: 1px solid #dfdfdf;

border-top: none;

clear: both;

position: absolute;

top: 42px;

left: 0;

background: #fff;

display: none;

z-index: 101;

}

.province ul li {

height: 30px;

border-bottom: 1px solid #dfdfdf;

}

.province ul li b {

font-weight: bold;

width: 40px;

text-align: center;

display: inline-block;

}

.province ul span {

padding-right: 15px;

cursor: pointer;

}

.province ul li span:hover {

color: #c00;

}

#layer {

width: 100%;

height: 100%;

background: #fff;

position: absolute;

top: 0;

left: 0;

z-index: 100;

filter: alpha(opacity=0);

opacity: 0;

display: none;

}

.show {

color: #ccc;

background-position: 190px -17px;

}

.hide {

color: #000;

background-position: 190px 1px;

}

</style>

</head>

<body>

<div id="box">

<div>

<strong>送货至:</strong>

<span id="selectProvince">北京</span>

<ul id="allProvince">

<li><b>A</b><span>安徽</span></li>

<li><b>B</b><span>北京</span></li>

<li><b>C</b><span>成都</span></li>

<li><b>D</b><span>东北</span></li>

<li><b>F</b><span>福建</span></li>

<li><b>G</b><span>广东</span><span>广西</span></li>

<li><b>H</b><span>河南</span><span>河北</span><span>黑龙江</span></li>

<li><b>J</b><span>吉林</span></li>

</ul>

</div>

</div>

<div id="layer"></div>


<script>

function addLoadEvent(func) {

   var oldonload = window.onload;

   if (typeof window.onload != 'function') {

      window.onload = func;

   } else {  

     window.onload = function() {

       oldonload();

       func();

     }

   }

}

function getDom(id) {

return document.getElementById(id);

}

function showProvince() {

getDom("selectProvince").onclick = showAllProvince;

}

function showAllProvince() {

getDom("allProvince").style.display = 'block';

getDom("layer").style.display = "block";

// getDom("selectProvince").style.backgroundPosition = "190px -17px";

// getDom("selectProvince").style.color = "#ccc";

getDom("selectProvince").className = "show";

getDom("layer").onclick = function() {

hideAllProvince();

}

selectProvince();

}

function hideAllProvince() {

getDom("allProvince").style.display = 'none';

getDom("layer").style.display = 'none';

// getDom("selectProvince").style.backgroundPosition = "190px 1px";

// getDom("selectProvince").style.color = "#000";

getDom("selectProvince").className = "hide";

}

function selectProvince() {

var pro = getDom("allProvince").getElementsByTagName("li");

var links;

for(var i = 0; i < pro.length; i++) {

links = pro[i].getElementsByTagName("span");

for(var j = 0; j < links.length; j++) {

links[j].onclick = function() {

getDom("selectProvince").innerHTML = this.innerHTML;

hideAllProvince();

}

}

}

}

addLoadEvent(showProvince);

</script>

</body>

</html>


正在回答

2 回答

  1. 你修改过后 忘记 将.province  引用到 div里了http://img1.sycdn.imooc.com//567102d30001c24605860355.jpg

  2. ID选择器的权重是100  而类选择器的 权重是10  所以 你设定的 .hide 和 .show 不会生效http://img1.sycdn.imooc.com//567103560001b32405540269.jpg

  3. 只要 提升 类选择器的 权重 使之大于ID选择器的权重 就可以了  可以再  后面加上 !important; ,这样就好了

  4. 567103bd0001a5cf03640189.jpg

  5. 567103bd0001970f05000175.jpg

  6. 567103bf0001499a04540298.jpg

0 回复 有任何疑惑可以回复我~
#1

IHaveADreamD 提问者

终于解决了,拜谢~
2015-12-16 回复 有任何疑惑可以回复我~

我感觉没有必要将#allProvince换为.province ul,对hidden类坐如下处理就行

https://img1.sycdn.imooc.com//5cb43f530001cd2b03650166.jpg

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
表单美化
  • 参与学习       41134    人
  • 解答问题       157    个

本教程讲解表单美化,主要是对方法和思路的分享,让表单与众不同

进入课程

效果出现问题~

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号