3

我创建了这个自定义 css 菜单,但是在切换选项卡时,“活动”选项卡设计保留在菜单上的“主页”链接上,而不是我所在的实际页面。知道我如何解决这个问题吗?

HTML:

<ul class="menu">
    <li><a href="http://caribbeantl.com/"; class="active"><span>Home</span></a></li>
    <li><a href="http://caribbeantl.com/hotels/"><span>Testing post</span></a></li>
</ul>

CSS:

.menu {margin:0 auto; padding:0; height:30px; width:100%; display:block; background:url('http://media.datahc.com/Affiliates/43817/Brands/Image/topmenuimages.png') repeat-x;}
.menu li {padding:0; margin:0; list-style:none; display:inline;}
.menu li a {float:left; padding-left:15px; display:block; color:rgb(255,255,255); text-decoration:none; font:12px Verdana, Arial, Helvetica, sans-serif; cursor:pointer; background:url('http://media.datahc.com/Affiliates/43817/Brands/Image/topmenuimages.png') 0px -30px no-repeat;}
.menu li a span {line-height:30px; float:left; display:block; padding-right:15px; background:url('http://media.datahc.com/Affiliates/43817/Brands/Image/topmenuimages.png') 100% -30px no-repeat;}
.menu li a:hover {background-position:0px -60px; color:rgb(255,255,255);}
.menu li a:hover span {background-position:100% -60px;}
.menu li a.active,
.menu li a.active:hover {line-height:30px; font:12px Verdana, Arial, Helvetica, sans-serif; background:url('http://media.datahc.com/Affiliates/43817/Brands/Image/topmenuimages.png') 0px -90px no-repeat; color:rgb(255,255,255);}
.menu li a.active span,
.menu li a.active:hover span {background:url('http://media.datahc.com/Affiliates/43817/Brands/Image/topmenuimages.png') 100% -90px no-repeat;}
4

4 回答 4

3

HTML:

<div class="menu">
<ul>
  <li><a class="menuLink active" href="#">Home</a></li>
  <li> <a class="menuLink" href="#">Page1</a></li>
  <li><a class="menuLink" href="#">Page2</a></li>
  <li><a class="menuLink" href="#">Page3</a></li>
</ul>
</div>

CSS:

.menu
{
height:64px;
width:100%;
background-repeat:repeat-x;
text-align:center;
 }

.menuLink, .menuLink:visited
{
 color:#00000;
background-image:url(img/btk.png);
text-decoration:none;
font-size: 20px;
width:70px;
height: 50px;
padding: 10px;
display:block;
margin-left: 10px;
margin-right: 10px;
margin-top: 6px;
}
.menuLink:hover
{
color:#CC7011;
background-color:aqua;
font-size: 26px;
}
.active{
background-color:aqua;
}
ul,li{
display:inline-block;
list-style:none;
line-height:60px;
vertical-align:bottom;
}

​ jQuery:

$('.menuLink').click(function(){
  $('a').removeClass('active');
  $(this).addClass('active');
});​

现场演示 http://jsfiddle.net/PYW35/

于 2012-09-22T10:42:14.783 回答
1

首先你有一个多余的分号在第一个<li>

您需要将 移动class="active"<li>您想要激活的位置。

于 2012-09-22T04:29:39.773 回答
0

我觉得你需要一些 JavaScript 来完成它,

这是简单的演示。

希望这可以帮助

注意:getElementsByClassName()部分浏览器不支持

看看下面的比较表

于 2012-09-22T05:57:12.473 回答
0

我不知道它的确切答案,但是,我会说找到一些可以获取 url 的东西,如果它与栏中的链接匹配,那么这将使类处于活动状态,否则,没有一个是活动的。

于 2012-09-22T03:33:26.010 回答