【问题标题】:Javascript onmouseover border color changing function deleting the borderJavascript onmouseover 边框变色功能删除边框
【发布时间】:2018-04-04 13:32:41
【问题描述】:

我已经做了一个函数来改变边框的颜色 onmouseover 但由于某种原因它删除了边框而不改变颜色,所以我不能在鼠标上改变颜色。 这里是:

function borderChange(id, color) 
        {
            document.getElementById(id).style.border = color;
        }
<div class="menu" id="menu1" onmouseover="borderChange(this.id, 'White');" onmouseout="borderChange(this.id, 'Black');"> Text </div> 

【问题讨论】:

  • 你的代码 sn-p 中根本没有边框
  • 抱歉,在菜单类中

标签: javascript border onmouseover onmouseout


【解决方案1】:

当您使用border 速记属性时,如果您不指定宽度和样式,则它们默认为0none ......此时颜色是什么并不重要。

改为设置border-color 属性。

function borderChange(id, color) {
  document.getElementById(id).style.borderColor = color;
}
div { border: solid red 1px; }
body { background: blue; }
<div class="menu" id="menu1" onmouseover="borderChange(this.id, 'White');" onmouseout="borderChange(this.id, 'Black');"> Text </div>

除了……

传递元素的 id 然后立即通过其 ID 获取元素是没有意义的。只需传递元素本身。

function borderChange(element, color) {
  element.style.borderColor = color;
}
div { border: solid red 1px; }
body { background: blue; }
<div class="menu" id="menu1" onmouseover="borderChange(this, 'White');" onmouseout="borderChange(this, 'Black');"> Text </div>

同样,为此使用 JavaScript 过于复杂。你可以只使用 CSS。

div { border: solid red 1px; }
div:hover { border-color: white; }
body { background: blue; }
<div class="menu" id="menu1"> Text </div>

【讨论】:

  • 我是一名学生,不幸的是我们的老师以她的方式教我们 HTML。例如,我们必须用表格而不是潜水来建立我们的网站,无论如何感谢您的完美答案!
【解决方案2】:

边框被删除,因为您的代码被编写为覆盖border 样式。

您应该只更改border-color,而不是border 样式。

More about border.

function borderChange(id, color) 
{
    document.getElementById(id).style.borderColor = color;
}
#menu1 {
  border: 1px solid black;
}
<div class="menu" id="menu1" onmouseover="borderChange(this.id, 'White');" onmouseout="borderChange(this.id, 'Black');"> Text </div>

【讨论】:

  • 将边框颜色设置为白色并不是在白色背景下的最佳选择,似乎它不起作用,但您可以在控制台中看到它确实有效。
  • @TunçelMert OP 决定使用 white 并遵循 OP 给出的内容是我的错误吗?
  • 当然不是@YongQuan!我实际上赞成你的回答。但是你必须确保即使是只看到消失的边框的白痴也能清楚地看到结果:) OP 可以在以后随心所欲地改变颜色。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2015-02-24
  • 1970-01-01
相关资源
最近更新 更多