Javascript,使用 if 语句更改元素的颜色
Javascript, change colour of element on-click with if-statement
如果颜色从深红色变为白色,我不知道如何更改元素的颜色。这让我感到困惑,因为我尝试了很多解决方案,例如将它们变成变量。谁能告诉我我做错了什么,或者可能指出正确的方向?我试过“重复”的问题,但 none 确实有相同的问题。
<button class="btn-startcall10" onclick="recorda()"><i class="fa fa-wave-square"></i> </button>
function recorda() {
document.getElementsByClassName("fa-wave-square")[0].style.color = "crimson";
if () {}
}
您可以在 javascript 中使用 Element.style.color
来获取元素的当前颜色。
然后您可以根据该颜色更改元素的颜色。
let clickElement = document.getElementById("span-to-change-color");
clickElement.addEventListener("click", changeColor);
function changeColor() {
if (clickElement.style.color == "red") {
clickElement.style.color = "blue";
} else {
clickElement.style.color = "red";
}
}
<span style="color: red;" id="span-to-change-color">I am red(Click Me)</span>
你可以试试这个
function changeColor(){
el = document.getElementById("fa-wave-square");
if(el.style.color === 'crimson'){
el.style.color = 'white';
} else {
el.style.color = 'crimson';
}
}
首先你必须为点击事件添加一个事件监听器,例如
YOUR_ELEMENT.addEventListener("click", YOUR_LISTENER) // e.g recorda
您的事件侦听器将从您可以访问该对象的位置获取事件对象,但如果它是嵌套对象,例如您的事件侦听器在 div 上,但您在内部有一个跨度,点击跨度点击事件将被触发,目标对象将是跨度。但是您可以缓存 YOUR_ELEMENT
并使用它。
现在您可以检查颜色的样式颜色并根据需要进行操作。
if (YOUR_ELEMENT.style.color === 'crimson') {
YOUR_ELEMENT.style.color = 'white'
} else {
YOUR_ELEMENT.style.color = 'crimson'
}
这是示例代码,例如
<div id="textChange">Some text</div>
<script>
var elem = document.getElementsById('textChange')
function changeColor(e) {
// You can use and get elem using
// var ele = e.target
// Or as we have cached elem we can use that
if (elem.style.color === 'red') {
elem.style.color = 'green'
} else {
elem.style.color = 'red'
}
}
elem.addEventListener('click', changeColor)
</script>
如果颜色从深红色变为白色,我不知道如何更改元素的颜色。这让我感到困惑,因为我尝试了很多解决方案,例如将它们变成变量。谁能告诉我我做错了什么,或者可能指出正确的方向?我试过“重复”的问题,但 none 确实有相同的问题。
<button class="btn-startcall10" onclick="recorda()"><i class="fa fa-wave-square"></i> </button>
function recorda() {
document.getElementsByClassName("fa-wave-square")[0].style.color = "crimson";
if () {}
}
您可以在 javascript 中使用 Element.style.color
来获取元素的当前颜色。
然后您可以根据该颜色更改元素的颜色。
let clickElement = document.getElementById("span-to-change-color");
clickElement.addEventListener("click", changeColor);
function changeColor() {
if (clickElement.style.color == "red") {
clickElement.style.color = "blue";
} else {
clickElement.style.color = "red";
}
}
<span style="color: red;" id="span-to-change-color">I am red(Click Me)</span>
你可以试试这个
function changeColor(){
el = document.getElementById("fa-wave-square");
if(el.style.color === 'crimson'){
el.style.color = 'white';
} else {
el.style.color = 'crimson';
}
}
首先你必须为点击事件添加一个事件监听器,例如
YOUR_ELEMENT.addEventListener("click", YOUR_LISTENER) // e.g recorda
您的事件侦听器将从您可以访问该对象的位置获取事件对象,但如果它是嵌套对象,例如您的事件侦听器在 div 上,但您在内部有一个跨度,点击跨度点击事件将被触发,目标对象将是跨度。但是您可以缓存 YOUR_ELEMENT
并使用它。
现在您可以检查颜色的样式颜色并根据需要进行操作。
if (YOUR_ELEMENT.style.color === 'crimson') {
YOUR_ELEMENT.style.color = 'white'
} else {
YOUR_ELEMENT.style.color = 'crimson'
}
这是示例代码,例如
<div id="textChange">Some text</div>
<script>
var elem = document.getElementsById('textChange')
function changeColor(e) {
// You can use and get elem using
// var ele = e.target
// Or as we have cached elem we can use that
if (elem.style.color === 'red') {
elem.style.color = 'green'
} else {
elem.style.color = 'red'
}
}
elem.addEventListener('click', changeColor)
</script>