创建一个输入框和一个按钮。当输入框获得焦点时,背景颜色变为黄色;有内容变绿色。点击按钮时,获取输入框中的值并在控制台输出
时间: 2024-09-20 10:12:10 浏览: 36
好看的文本框和按钮样式
你可以通过HTML、CSS以及JavaScript来实现这样的功能。首先,创建基本的HTML结构:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.active-input {
background-color: yellow;
}
.has-content {
background-color: green;
}
</style>
</head>
<body>
<input type="text" id="myInput" onfocus="inputFocus()" onkeyup="checkContent()">
<button onclick="outputValue()">获取并输出</button>
<script src="script.js"></script>
</body>
</html>
```
然后在外部的`script.js`文件中编写JavaScript代码:
```javascript
window.onload = function () {
// 初始化聚焦状态
inputFocus();
};
function inputFocus() {
const inputBox = document.getElementById('myInput');
if (inputBox.value !== '') {
inputBox.classList.add('has-content');
} else {
inputBox.classList.remove('has-content');
}
}
function checkContent() {
const inputBox = document.getElementById('myInput');
if (inputBox.value !== '') {
inputBox.classList.add('active-input');
} else {
inputBox.classList.remove('active-input');
}
}
function outputValue() {
const inputValue = document.getElementById('myInput').value;
console.log('输入框中的值:', inputValue);
}
```
在这个例子中,当输入框聚焦(`onfocus`)时,会检查是否有内容,如果有则添加`has-content`样式变为绿色。而当输入内容变化(`onkeyup`)时,还会判断是否聚焦并且如果聚焦就添加`active-input`样式变成黄色。最后,点击按钮时,`outputValue`函数会被调用,将输入框的值输出到浏览器的开发者工具的控制台。
阅读全文