javascript - 使用 Javascript 在悬停和单击时切换 CSS 背景颜色

标签 javascript css onclick onhover

我一直在使用此脚本在单击时切换 CSS 背景颜色,并且我一直在尝试更改它,以便第二种颜色将在悬停时出现,而 将在单击时出现。任何人都可以帮助让它发挥作用吗?

这是我的 jsfiddle 链接:

https://jsfiddle.net/pkrWV/70/

var bodyObj, className, index;

bodyObj = document.getElementById('body');
index = 1;
className = [
    'imageOne',
    'imageTwo',
     'imageThree',
];

function updateIndex(){
    if(index === 0){
        index = 1;
    }else{
        index = 0;
    }
}

bodyObj.onclick = function(e){
    e.currentTarget.className = className[index];
    updateIndex();
}

最佳答案

如果你想在悬停时改变颜色,你只需要定义hover您类(class)的选择器。像这样 -

#body.imageOne:hover {
   background-color: red;
}

var bodyObj, className, index;

bodyObj = document.getElementById('body');
index = 1;
className = [
  'imageOne',
  'imageTwo',
  'imageThree',
];

function updateIndex() {
  if (index === 0) {
    index = 1;
  } else {
    index = 0;
  }
}

bodyObj.onclick = function(e) {
  e.currentTarget.className = className[index];
  updateIndex();
}
html,
body,
#body {
  height: 100%;
  width: 100%;
}
#body.imageOne {
  background-color: green;
}
/*Add this */

#body.imageOne:hover {
  background-color: red;
}
#body.imageTwo {
  background-color: red;
}
#body.imageThree {
  background-color: black;
}
<div id="body" class="imageOne"></div>

关于javascript - 使用 Javascript 在悬停和单击时切换 CSS 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823186/

相关文章:

javascript - 使用 AJAX 的下一页/上一页

javascript - 使用 jQuery .class 选择器获取数据属性

javascript - Jquery 隐藏在鼠标悬停时显示特定的 div 元素

CSS 期望类样式规则的选择器

android - 在 android Activity 中放置 onclick 监听器的正确位置在哪里?

Javascript:动态创建按钮的onclick

javascript - javascript中分号的使用

javascript - 在javascript中更改所选文本的字体样式

javascript - 元素无法在更大的屏幕上正确显示

html - 将元素置于 Bootstrap 背景之外