用js设置两个按钮切换文本的两种颜色
时间: 2024-02-17 11:05:10 浏览: 63
可以通过以下代码实现:
HTML代码:
```html
<button id="btn1">按钮1</button>
<button id="btn2">按钮2</button>
<p id="text">这是一段文本</p>
```
JS代码:
```javascript
const btn1 = document.getElementById('btn1');
const btn2 = document.getElementById('btn2');
const text = document.getElementById('text');
btn1.addEventListener('click', function() {
text.style.color = 'red';
});
btn2.addEventListener('click', function() {
text.style.color = 'blue';
});
```
以上代码中,我们通过获取按钮元素和文本元素的引用,然后给按钮元素添加点击事件监听器,在点击事件中改变文本元素的颜色。当点击按钮1时,文本颜色变为红色;当点击按钮2时,文本颜色变为蓝色。
相关问题
html中如何设置按钮实现改变文本
在HTML中,你可以通过JavaScript或者内联样式来动态改变按钮的文字内容。这里提供两种常见的方式:
1. 使用JavaScript:
```html
<button id="myButton" onclick="changeText()">点击我</button>
<script>
function changeText() {
var button = document.getElementById("myButton");
if (button.innerHTML === "点击我") { // 判断当前文字
button.innerHTML = "已点击"; // 改变为新文字
} else {
button.innerHTML = "点击我"; // 回复原文字
}
}
</script>
```
在这个例子中,每次用户点击按钮,`changeText`函数会检查按钮的文字,然后进行相应的更改。
2. 内联CSS结合`data-*`属性:
```html
<button data-old-text="点击我" onclick="toggleText(this)">点击我</button>
<style>
[data-old-text]::before {
content: attr(data-old-text);
display: none; /* 隐藏原有文字 */
}
[data-old-text]:active::before {
display: inline; /* 点击时显示原文字 */
}
[data-old-text]:active {
content: attr(data-new-text); /* 替换为新文字 */
color: blue;
}
</style>
<script>
function toggleText(button) {
button.dataset.oldText !== button.textContent ? (button.textContent = button.dataset.oldText) : (button.textContent = '点击我');
}
</script>
```
这个方法利用了CSS的`:active`伪类,点击时切换`content`属性显示不同的文字。
js完成一个页面开关灯案例:点击按钮在浏览器页面切换黑白开关灯效果。
可以尝试以下代码:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>开关灯</title>
<style>
body {
background-color: black;
color: white;
}
.light-on {
background-color: white;
color: black;
}
</style>
</head>
<body>
<h1>开关灯</h1>
<button id="light-switch">开灯</button>
<script>
const lightSwitch = document.getElementById('light-switch');
const body = document.querySelector('body');
lightSwitch.addEventListener('click', function() {
if (body.classList.contains('light-on')) {
body.classList.remove('light-on');
lightSwitch.textContent = '开灯';
} else {
body.classList.add('light-on');
lightSwitch.textContent = '关灯';
}
});
</script>
</body>
</html>
```
代码中,首先定义了一个黑色背景、白色字体的样式。然后创建一个按钮和一个脚本。脚本中,通过 `document.getElementById` 和 `document.querySelector` 获取到按钮和整个页面的 `body` 元素。然后给按钮添加一个点击事件监听器,当点击时判断 `body` 元素是否有 `light-on` 类。如果有,就移除它,同时将按钮文本设为“开灯”。如果没有,则添加它,同时将按钮文本设为“关灯”。最后切换黑白两种颜色的效果就完成了。
阅读全文