css做的菜单,被选中状态的一个效果,很急,希望高手帮忙!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css做的菜单,被选中状态的一个效果,很急,希望高手帮忙!!!相关的知识,希望对你有一定的参考价值。
各位高手,在下遇到一个问题,总是得不到解决,就是css做的菜单,我要点击其中一个选项,选中项呈不同颜色,再点击另一个选项,另一项呈被选状态,原先的那一项状态需要复原,这样的效果怎么实现,好像不是通过visited来实现的,visited只是定义被访问过的状态,就是说只要我菜单中的选项被点击过,都全部呈现被选过的状态,复原不了,它好像只是历史记录效果吧,定义被访问过的状态。好像这是需要js来实现的吧,谁能教教我啊,应为我对js不太了解~~~
如果能帮我解决,我追加分哦~~
用一个简单的js就可以
js里:
function xk(n)
for(var i=1;i<=6;i++)
var curB=document.getElementById("nav"+i);
if(n==i)
curB.className="active"
else
curB.className="none"
css里:加一个选中后的样式
.active /*he js里的curB.className="active"名称对应*/
菜单:
<ul>
<li onclick="return xk(1)" id="nav1" class="none"><a href="/">11111</a></li>
<li onclick="return xk(2)" id="nav2" class="none"><a href="/">22222</a></li>
<li onclick="return xk(3)" id="nav3" class="none"><a href="/">33333</a></li>
<li onclick="return xk(4)" id="nav4" class="none"><a href="/">44444</a></li>
<li onclick="return xk(5)" id="nav5" class="none"><a href="/">55555</a></li>
<li onclick="return xk(6)" id="nav6" class="none"><a href="/">66666</a></li>
</ul>
虽然代码可能有点麻烦 但是可以实现 参考技术B 下面的这个代码你应该能理解:
<!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>滑动TAB</title>
<script language="javascript">
function tabChange(obj,id)
var arrayli = obj.parentNode.getElementsByTagName("li"); //获取li数组
var arrayul = document.getElementById(id).getElementsByTagName("ul"); //获取ul数组
for(i=0;i<arrayul.length;i++)
if(obj==arrayli[i])
arrayli[i].className = "cli";
arrayul[i].className = "";
else
arrayli[i].className = "";
arrayul[i].className = "hidden";
</script>
<style type="text/css">
.tabbox width:300px;height:250px;
.tabmenu width:295px;height:28px;border-left:1px solid #CCC;border-top:1px solid #ccc;
.tabmenu ul margin:0;padding:0;list-style-type: none;
.tabmenu li text-align:center; float:left; display:block; width:58px; height:27px; overflow:hidden; background-color: #D2E8F7; line-height:27px; border-right:#ccc 1px solid; border-bottom:#ccc 1px solid; display:inline; font-size:12px;
.tabmenu .cli text-align:center;float:left;display:block;width:58px;height:27px;overflow:hidden;background-color: #fff;line-height:27px;border-right:#ccc 1px solid;border-bottom:#fff 1px solid;display:inline;font-size:12px; cursor:pointer;
#tabcontent width:294px;background-color:#fff;border-left:#CCC 1px solid;border-right:#CCC 1px solid;border-bottom:#CCC 1px solid;
#tabcontent ul margin:0;padding:5px;list-style-type: none;
#tabcontent .hidden display:none;
</style>
</head>
<body>
<div class="tabbox">
<div class="tabmenu">
<ul>
<li onmouseover="tabChange(this,'tabcontent')" class="cli">军事</li>
<li onmouseover="tabChange(this,'tabcontent')">娱乐</li>
<li onmouseover="tabChange(this,'tabcontent')">国内</li>
<li onmouseover="tabChange(this,'tabcontent')">国外</li>
<li onmouseover="tabChange(this,'tabcontent')">游戏</li>
</ul>
</div>
<div id="tabcontent">
<ul name="tabul">
<li><a href="#">1111111111111111111111</a></li>
<li><a href="#">1111111111111111111111</a></li>
<li><a href="#">1111111111111111111111</a></li>
<li><a href="#">1111111111111111111111</a></li>
<li><a href="#">1111111111111111111111</a></li>
<li><a href="#">1111111111111111111111</a></li>
</ul>
<ul class="hidden">
<li><a href="#">2222222222222222222222</a></li>
<li><a href="#">2222222222222222222222</a></li>
<li><a href="#">2222222222222222222222</a></li>
<li><a href="#">2222222222222222222222</a></li>
<li><a href="#">2222222222222222222222</a></li>
<li><a href="#">2222222222222222222222</a></li>
</ul>
<ul class="hidden">
<li><a href="#">3333333333333333333333</a></li>
<li><a href="#">3333333333333333333333</a></li>
<li><a href="#">3333333333333333333333</a></li>
<li><a href="#">3333333333333333333333</a></li>
<li><a href="#">3333333333333333333333</a></li>
<li><a href="#">3333333333333333333333</a></li>
</ul>
<ul class="hidden">
<li><a href="#">4444444444444444444444</a></li>
<li><a href="#">4444444444444444444444</a></li>
<li><a href="#">4444444444444444444444</a></li>
<li><a href="#">4444444444444444444444</a></li>
<li><a href="#">4444444444444444444444</a></li>
<li><a href="#">4444444444444444444444</a></li>
</ul>
<ul class="hidden">
<li><a href="#">5555555555555555555555</a></li>
<li><a href="#">5555555555555555555555</a></li>
<li><a href="#">5555555555555555555555</a></li>
<li><a href="#">5555555555555555555555</a></li>
<li><a href="#">5555555555555555555555</a></li>
<li><a href="#">5555555555555555555555</a></li>
</ul>
</div>
</div>
</body>
</html>
如何用html5实现左侧是滚动菜单,选中后右边呈现效果
参考技术A这问题好纠结,最少来个截图啊,给你写个吧,粘过去就行,不行的话留个q,继续问
<!DOCTYPE html><html>
<head>
<meta charset="utf-8" />
<title>选项卡</title>
<style type="text/css">
::-webkit-scrollbarwidth:0px
* margin:0; padding:0
ul
list-style: none;
.tab
width: 600px;
margin: 80px auto;
.tab .tab_menu
float:left;
height: 138px;
width: 90px;
overflow-y:scroll;
.tab .tab_menu ulwidth:60px;
.tab .tab_menu ul li
width: 60px;
text-align: center;
line-height: 30px;
.tab .tab_menu ul li:last-child
border-right:none;
width:60px;
.tab .tab_menu ul li.on
background: #999;
.tab_boxfloat:left;
.tab .tab_box > div
width: 300px;
height: 138px;
border:1px solid #6cf;
display: none; //将三个内容框架全隐藏,通过下面的:first-child属性只将第一个框架内容显示出来
.tab .tab_box > div:first-child
display: block;
</style>
</head>
<body>
<!--整体构局说明,用ul完成按钮的横向布局,用div完成三个内容框架的垂直布局(类似于类表),然后将三个内容框架全隐藏,通过下面的:first-child属性只将第一个框架内容显示出来-->
<div class="tab">
<div class="tab_menu">
<ul>
<li class="on">实事</li>
<li>政治</li>
<li>体育</li>
<li>实事</li>
<li>政治</li>
<li>体育</li>
<li>实事</li>
<li>政治</li>
<li>体育</li>
<li>实事</li>
<li>政治</li>
<li>体育</li>
</ul>
</div>
<div class="tab_box">
<div>实事内容</div>
<div>政治内容</div>
<div>体育内容</div>
<div>实事内容</div>
<div>政治内容</div>
<div>体育内容</div>
<div>实事内容</div>
<div>政治内容</div>
<div>体育内容</div>
<div>实事内容</div>
<div>政治内容</div>
<div>体育内容</div>
</div>
</div>
<script type="text/javascript" src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function()
$(".tab_menu ul li").click(function()
$(this).addClass("on").siblings().removeClass("on"); //切换选中的按钮高亮状态
var index=$(this).index(); //获取被按下按钮的索引值,需要注意index是从0开始的
$(".tab_box > div").eq(index).show().siblings().hide(); //在按钮选中时在下面显示相应的内容,同时隐藏不需要的框架内容
);
);
</script>
</body>
</html>本回答被提问者采纳
以上是关于css做的菜单,被选中状态的一个效果,很急,希望高手帮忙!!!的主要内容,如果未能解决你的问题,请参考以下文章
如何用CSS 设置 当鼠标移动到菜单时,该按钮变色,鼠标点击后,页面停留在鼠标滑过时的状态!!很急!