Javascript 如何更改当前页面上元素的可见性?
一些人目前正在为一个项目构建一个小界面,我被困在了一个点上。目前,我有一个函数Javascript 如何更改当前页面上元素的可见性?,javascript,visibility,hidden,visible,Javascript,Visibility,Hidden,Visible,一些人目前正在为一个项目构建一个小界面,我被困在了一个点上。目前,我有一个函数setPage(),它将.current类设置为活动链接 <script type="text/javascript" src="activemenu.js"></script> </head> <html> <body> <div id="menu"> <ul> <li><a hre
setPage()
,它将.current
类设置为活动链接
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
但是。。。我想更改可见性a
,使其在当前页面时变为活动状态
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
默认情况下,
在CSS中隐藏
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
这是HTML(顺便说一句,索引:1,2,3,4…仅用于测试)
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
试试这个CSS:
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
a p {
display: none;
}
a.current p {
display: block;
}
您可以向元素添加另一个类或修改当前类以包含
显示
或可见性
声明:
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
a p
{
display: none;
}
.current
{
display: block;
}
或:
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
display
更改元素的显示方式,它有多个值,例如inline
,inline block
,block
,table
,table cell
等。当设置为none
时,元素将不再渲染,它将占用的空间将再次释放
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
可见性
只是更改元素是否可见,但与显示
的主要区别在于元素占用的空间不会被回收,就像使用位置:相对
一样 我找到了解决办法!非常简单:在CSS中只需更改格式:a.current p{visibility:visible;}
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>