javascript - JS改变div颜色

标签 javascript jquery

嗨,我一直在编写一些基本的 html + css 来制作导航栏,我决定尝试将 JS 合并到导航栏中,该导航栏会显示“如果单击“测试”,则转到“测试”页面,然后保持所选页面上的颜色变化” 我正在考虑做一个开关或其他什么,但我不太确定该怎么做。 http://jsfiddle.net/3jp1d0fe/1/

html

<body>
    <div class="container">
    <div class="column"><a href="https://www.google.co.uk"> Solution Assessment</a></div>
    <div class="column"><a href="https://www.google.co.uk"> Design</a></div>
    <div class="column"><a href="https://www.google.co.uk"> Build</a></div>
    <div class="column"><a href="https://www.google.co.uk"> Deploy</a></div>
    <div class="column"><a href="https://www.google.co.uk"> Test</a></div>
    <div class="column"><a href="https://www.google.co.uk"> Live (BAU)</a></div>

</div>
</body>

CSS

div.container {
    display: table;
    display: table-row;
}

div.column { 
    display: table-cell;
    vertical-align:middle;
    text-align:center;
    background-color:#c2ad80;    

}

div.column a {
    color:white;
    font-family: Arial;
    font-size: 12px;
    text-decoration:none;
    display:block;
    height:100px;
    width:100px;
    display: table-cell;
    vertical-align: middle;
}

div.column:hover {
    background-color: #a2884f;
}

最佳答案

我猜你正在寻找这样的东西:

  1. 创建一个具有悬停状态的类。
  2. 单击该事件以设置类别时添加一个事件。
  3. 在每个页面中,您需要将 current 类添加到 .column 中,以使其在您登陆页面时保持事件状态。

$(function () {
  $(".column a").click(function () {
    $(".current").removeClass("current");
    $(this).closest(".column").addClass("current");
    return false;
  });
  url = location.pathname.substr(1);
  $('a[href="' + url + '"]').closest(".column").addClass("current");
});
div.container {
  display: table;
  display: table-row;
}

div.column { 
  display: table-cell;
  vertical-align:middle;
  text-align:center;
  background-color:#c2ad80;    

}

div.column a {
  color:white;
  font-family: Arial;
  font-size: 12px;
  text-decoration:none;
  display:block;
  height:100px;
  width:100px;
  display: table-cell;
  vertical-align: middle;
}

div.column.current,
div.column:hover {
  background-color: #a2884f;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="container">
  <div class="column"><a href="https://www.google.co.uk"> Solution Assessment</a></div>
  <div class="column"><a href="https://www.google.co.uk"> Design</a></div>
  <div class="column"><a href="https://www.google.co.uk"> Build</a></div>
  <div class="column"><a href="https://www.google.co.uk"> Deploy</a></div>
  <div class="column"><a href="https://www.google.co.uk"> Test</a></div>
  <div class="column"><a href="https://www.google.co.uk"> Live (BAU)</a></div>
</div>

fiddle :http://jsfiddle.net/3jp1d0fe/2/

关于javascript - JS改变div颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32045836/

相关文章:

javascript - Jquery 立即向下滚动到一个类

jquery - 样式化嵌套列表元素

jquery - 无法使用 Bootstrap 日期选择器

javascript - 将事件从子元素复制到不同的 div

javascript - 为什么引导模式关闭事件 "stack"?

javascript - 是否可以仅在它们共享的键/属性之间比较两个对象?

javascript - 更改对话框的灰色

javascript - 如何添加 if 语句来循环显示图像?

javascript - 动态调整 jqGrid 添加/编辑表单字段的大小

javascript - Bootstrap 模式不会加载 YouTube 嵌入源