首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django Javascript中单击活动按钮

在Django Javascript中单击活动按钮
EN

Stack Overflow用户
提问于 2020-10-01 12:30:48
回答 1查看 224关注 0票数 0

我想使按钮,活动和颜色时,点击。我正在使用Django,但是我认为Javascript是这个任务的好主意。有人能帮忙吗?

html文件

代码语言:javascript
复制
    <div class="menu_tabs">
    <div class="menu_tabs_title"> </div>
    <a href="/aries" class="btn-skin  ">Daily</a>
    <a href="/aries/love" class="btn-skin ">Loves</a>
    <a href="aries/finance" class="btn-skin ">Financial</a>
    <a href="aries/gambling" class="btn-skin ">Gambling</a>
    <a href="aries/sex" class="btn-skin ">Sexy</a>
    <a href="aries/pets" class="btn-skin ">Pets</a>

css文件

代码语言:javascript
复制
.btn-skin {
    border-radius: 2px;
    box-shadow: 1px 2px 5px rgba(0, 0, 0, .15);
    background: #4CAF50;
    color: #fff;
    width: auto;
    padding: 15px;
    transition: background-color 300ms linear;
    font-family: proxima-nova, sans-serif;
    font-size: 1rem;
    cursor: pointer;
    display: inline-block;
    margin: 8px 5px 5px 0;
    font-size: 20px;
    font-family: font2
}

.active, .btn-skin:hover {
    background-color: #666;
    color: white;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-01 12:48:58

你可以:

代码语言:javascript
复制
var anchors = document.getElementsByClassName("btn-skin");
for(var i=0; i<anchors.length; i++){
  anchors[i].addEventListener("click", function(e) {
    var current = this;
    for (var i = 0; i < anchors.length; i++) {
      if (current != anchors[i]) {
        anchors[i].classList.remove('active');
      } else if (current.classList.contains('active') === true) {
        current.classList.remove('active');
      } else {
        current.classList.add('active')
      }
    }
    e.preventDefault();
  });
}
代码语言:javascript
复制
.btn-skin {
    border-radius: 2px;
    box-shadow: 1px 2px 5px rgba(0, 0, 0, .15);
    background: #4CAF50;
    color: #fff;
    width: auto;
    padding: 15px;
    transition: background-color 300ms linear;
    font-family: proxima-nova, sans-serif;
    font-size: 1rem;
    cursor: pointer;
    display: inline-block;
    margin: 8px 5px 5px 0;
    font-size: 20px;
    font-family: font2
}

.active, .btn-skin:hover {
    background-color: #666;
    color: white;
}
代码语言:javascript
复制
<div class="menu_tabs">
<div class="menu_tabs_title"> </div>
<a href="/aries" class="btn-skin  ">Daily</a>
<a href="/aries/love" class="btn-skin ">Loves</a>
<a href="aries/finance" class="btn-skin ">Financial</a>
<a href="aries/gambling" class="btn-skin ">Gambling</a>
<a href="aries/sex" class="btn-skin ">Sexy</a>
<a href="aries/pets" class="btn-skin ">Pets</a>

编辑

这个javascript应该做您想做的事情:

代码语言:javascript
复制
var pathname = window.location.pathname;
var path_arr = pathname.split('/');
var current_tab = path_arr[path_arr.length-1];
var anchors = document.getElementsByClassName("btn-skin");
anchors[0].classList.add('active');
for(var i=0; i<anchors.length; i++){
  var tab_arr = anchors[i].getAttribute("href").split('/');
    var tab_name = tab_arr[tab_arr.length-1];
  if(tab_name == current_tab){
    anchors[0].classList.remove('active');
    anchors[i].classList.add('active');
    break;
  } 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64155466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档