javascript - 在按钮点击 block 上调用 JS 函数 CSS :hover

标签 javascript html css button

我在所有按钮上实现了 CSS 悬停方法。它看起来像这样:

.button:hover { background-color: #36a39c; }

在我单击其中一个按钮之前,此方法非常有效。单击按钮时,使用以下代码调用 JS 函数:

   <div id= "one"><button class="button" id = "b1" value="0" onclick="checker(this.id)"></button></div>

这是 JS 脚本:

var checker = function(id)
{
   var xyz = id; 
   var value = document.getElementById(xyz).value

   if (answerjson[value].is_right_choice==1)
   {
      for (var i = 1; i <=4; i++) {
          document.getElementById("b"+i).style.background='#722F37';
      }
      document.getElementById(xyz).style.background='green';
      setTimeout(function(){ alert("Correct!"); }, 100);
   }
   else {
        for (var i = 1; i <=4; i++) {
          document.getElementById("b"+i).style.background='#722F37';

        }
        document.getElementById(xyz).style.background='red';
        setTimeout(function(){ alert("Sorry, Try Again"); }, 100);

   }

}

调用该脚本后,我的按钮不再在悬停时改变颜色。有什么想法吗?

最佳答案

发生这种情况是因为当您使用 javascript 添加背景颜色时,它被添加为内联样式并且它覆盖了 css 类选择器,因为内联样式总是更受欢迎。您需要使用该颜色创建一个类并使用 javascript 添加/删除它。例如上课

.green{
   background-color: green;
}

然后像这样使用 javascript 添加它:

document.getElementById(xyz).className += " green";

关于javascript - 在按钮点击 block 上调用 JS 函数 CSS :hover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45245888/

相关文章:

javascript - 如何在angularjs中选择默认下拉选项?

javascript - 使用 Node.js 在服务器上呈现 HTML

css - 垂直和水平对齐(中间和中心)与 CSS

javascript - 没有 onclick for button, div, img with IE 9

javascript - 当滚动到达另一个 div 的底部时淡出一个 div

javascript - React : Best way to update self, 但阻止 child 更新?

javascript - 在 startPage 方法上从 Objective C 获取 HTML5 本地存储项

javascript - 使用 jQuery 在单击按钮时将内容添加到顶部 div 部分

html - 将矢量图标字体添加到网站标题名称?

css - CSS生成器SASS需要拒绝诸如margin :10px ?(冒号后没有空格)之类的行是否有原因