如何获得一个按钮来执行两个功能
How to get one button to do two functions
目前我有两个按钮,一个按钮将文本更改为红色(默认),另一个在单击时将其更改为绿色。而不是有两个按钮,当文本显示为红色时,我需要一个按钮说绿色,所以当你单击绿色按钮时,它会将颜色更改为绿色,然后同一个按钮现在说红色,单击时它会将文本更改为红色
这是我的脚本:
function change1() {
txt = document.getElementById("txt");
txt.style.color = 'green';
}
function change2() {
txt = document.getElementById("txt");
txt.style.color = 'red';
}
这些是我的按钮
<input type="button" value="Green" onclick="change1()" id="btn">
<input type="button" value="Red" onclick="change2()" id="btn">
你可以
用一个 if 语句来要求style.color
属性:
function change() {
txt = document.getElementById("txt");
if (txt.style.color === 'green'){
txt.style.color = 'red';
}
else {
txt.style.color = 'green';
}
}
在 HTML 元素中附加 JavaScript 不是一个好的做法,而是可以通过代码检索按钮,然后使用 addEventListener
方法将 change
函数附加到 click
事件,请查看此代码笔以了解其工作原理。
脚本调整
最简单的方法是使用按钮的当前值来确定要执行的操作:
function colorChange(button1) {
var txt = document.getElementById("txt");
if (button1.value == "Green") {
txt.style.color = 'green';
button1.value == "Red";
} else {
txt.style.color = 'red';
button1.value == "Green";
}
}
互生
您可以改用全局变量来跟踪按钮的状态,但这是一个不太理想的解决方案:
var txt;
var colorButtonIsGreen = true;
function colorChange() {
if(!txt) txt = document.getElementById("txt");
if (colorButtonIsGreen) {
txt.style.color = 'green';
button1.value == "Red";
} else {
txt.style.color = 'red';
button1.value == "Green";
}
colorButtonIsGreen != colorButtonIsGreen;
}
.HTML:
略微调整的原始 HTML:
<input type="button" value="Green" onclick="colorChange(this);" id="btn">
相关文章:
- Javascript RegEx-强制执行两个最大长度
- 表单以执行两个不同的操作
- 如何执行两个javascript函数
- 为什么获胜't执行两个Jquery行
- IE可以同时执行两个JavaScript函数吗?
- jQuery.toggle - 在交替单击时执行两个或多个处理程序
- 你能用一个提交按钮执行两个javascript函数吗?
- 如何获得一个按钮来执行两个功能
- 使django-html表单在提交时执行两个操作
- 我应该如何创建两个对象来执行两个不同的ajax调用
- Ruby on rails-如何让控制器使用ajax同时执行两个操作
- 是否可以让HTML中的一个链接执行两个脚本
- 如何使用相同的“按钮”执行两个不同的jQuery动画
- 在Javascript中可以执行两个同名的方法
- 是否有可能通过一个按钮提交两个表单,然后两个表单执行两个不同的操作
- 在jQuery中模拟同时执行两个函数
- 是否有一种简单的方法在JQuery中执行两个节点集之间的减法
- 提交按钮执行两个不同的操作
- 如何同时执行两个或多个javascript函数?
- 执行两个onsubmit函数;第二个函数只在第一个函数为真时执行