javascript - 一种在选择后保持链接粗体的方法(与 :visited) 不同

标签 javascript html css

我正在创建一个“常见问题解答”页面,该页面顶部(链接)有一个问题列表,答案显示在下面。

点击每个问题会显示相应的答案(使用显示/隐藏 div)。我的问题是:有没有办法让点击的问题/链接加粗?并使其保持粗体直到单击另一个问题,在这种情况下,新单击的问题将变为粗体,之前单击的问题将恢复正常。

我曾尝试在 CSS 中使用 a:active,但尽管这会使文本在单击时变为粗体,但一旦您松开鼠标,它就会恢复正常。

这是我的CSS

    div#newboxes1, div#newboxes2, div#newboxes3
{
 border: 1px solid black;
 background-color: #CCCCCC;
 display: none;
 padding: 5px;
 width: 659px;
}

div#newboxes1 {
display:block;

}

ol#toc {
    height: 2em;
    list-style: none;
    margin: 0;
    padding: 0;
 border: none;
}

ol#toc li {
    float: left;
}

ol#toc li a img
{
 border: none;
}

ol#toc a {
    color: #676767;
    float: left;
    line-height: 2em;
    text-decoration: none;
}

ol#toc li.current {
    background-color: #e5e5e4;
    background-position: 0 -60px;
}

ol#toc li.current a {
    color: #676767;
}

ol#toc li.current a:hover {
    color: #fff;
    font-weight: bold;
}

div.content {
    background: #e6e5e4;
    padding: 20px;
 width: 669px;
 margin: 0px;
}

div.content a
{
 color: #000000;
 text-decoration: underline;
}

div.content a:active
{
 font-weight: bold;
}

div.content a:visited
{
 font-weight: bold;
}

This is my HTML

<ol id="toc"><li class="current"><a href="customer-service_delivery.html"><img src="delivery_0.jpg" alt="Delivery" /></a></li>
<li><a href="customer-service_returns.html"><img src="returns.jpg" /></a></li>
<li><a href="customer-service_contact.html"><img src="contact.jpg" /></a></li>
<li><a href="customer-service_shopping.html"><img src="shopping.jpg" /></a></li></ol>
<div class="content">
<p><a name="newboxes" href="javascript:showonlyone('newboxes1');" >Where is my order?    </a></p>
<p><a name="newboxes" href="javascript:showonlyone('newboxes2');" >UK Standard Delivery</a></p>
<p><a name="newboxes" href="javascript:showonlyone('newboxes3');" >UK Next Day Delivery</a></p>
<div name="newboxes" id="newboxes1">
  <p>Where is my order answer</p>
  </div>
<div name="newboxes" id="newboxes2">
  <p>UK Standard Delivery answer</p>
  </div>

单击每个链接时调用 Javascript 函数,这会显示/隐藏当前位于彼此之上的相关 div。

下面是javascript

function showonlyone(thechosenone) {
  var newboxes = document.getElementsByTagName("div");
        for(var x=0; x<newboxes.length; x++) {
              name = newboxes[x].getAttribute("name");
              if (name == 'newboxes') {
                    if (newboxes[x].id == thechosenone) {
                    newboxes[x].style.display = 'block';
              }
              else {
                    newboxes[x].style.display = 'none';
              }
        }
  }

感谢您的帮助:) 特蕾莎

最佳答案

您必须将此样式添加到您的 css 文件中:

ol#toc li.current a:active {
    font-weight: bold;
}

关于javascript - 一种在选择后保持链接粗体的方法(与 :visited) 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669884/

相关文章:

javascript - Highcharts - 类型栏 - 如何为每个栏设置不同的起始位置

javascript - 使用 Vanilla js 旋转时钟指针

javascript - jQuery mobile - 将页面拆分为不同的文件

javascript - 使用 ECharts 中的 HTML 按钮激活/停用图表线?

html - 将 'html' 和 'body' 元素的大小固定为屏幕的大小

javascript - css好像没有效果

php - 我的 CSS 文件在我的 PHP 文件中不起作用

javascript - JavaScript 中的自定义线性同余生成器

css - 使用 & :nth-of-type(n), 时,我可以将 n 用作属性的一部分吗?

javascript - HTML - w3-include-html 读取 javascript 问题