javascript - 如何让 HTML 按钮依次运行三个功能

标签 javascript html

我的代码具有三个功能。我希望一个按钮在第一次按下时运行功能 1,然后在第二次按下时运行功能 2,在第三次按下时运行功能 3,然后将其重置。

这是我的代码:

<!DOCTYPE html>
<html> 
    <head> 
        <script> 
            var red = "https://s23.postimg.org/bo5a8hzsr/red_jpg.png"
            var yellow = "https://s24.postimg.org/dodxgn305/yellow.png"
            var green = "https://s29.postimg.org/5ljr1ha3r/green.png"
            var lights =[red,yellow,green]

            function changered()
            {
                var img = document.getElementById("light");
                img.src= lights[0];
                return false;
            }
            function changeyellow()
            {
                var img = document.getElementById("light");
                img.src= lights[1];
                return false;
            }
            function changegreen()
            {
                var img = document.getElementById("light");
                img.src= lights[2];
                return false;
            }
        </script>
    </head>
    <body>
        <button id="sequence" onclick="changeyellow" onclick="changered" onclick="changegreen">sequence</button>
        <br><br><br>
        <img id="light" src="https://s29.postimg.org/5ljr1ha3r/green.png" />
    </body>
</html>

最佳答案

您只能使用一个函数和一个包含当前颜色的全局变量,如下所示:

<!DOCTYPE html>
<html> 
<head> 
<script> 
var red = "https://s23.postimg.org/bo5a8hzsr/red_jpg.png"
var yellow = "https://s24.postimg.org/dodxgn305/yellow.png"
var green = "https://s29.postimg.org/5ljr1ha3r/green.png"
var lights =[red,yellow,green];
var currentColor = 0;

function changeColor() {
    var img = document.getElementById("light");
    img.src= lights[currentColor];
    if (currentColor === (lights.length - 1)) {
        currentColor = 0;
    } else {
        currentColor++;
    }
    return false;   
}
</script>

</head>
<body>

<button id="sequence" onclick="changeColor();">sequence</button>
<br><br><br>
<img id="light" src="https://s29.postimg.org/5ljr1ha3r/green.png" />
</body>
</html>

关于javascript - 如何让 HTML 按钮依次运行三个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41704950/

相关文章:

javascript - ng 如果字符串包含 Angular

javascript - 允许 iframe 跨域链接到目标父框架

html - CSS - 删除 <a href ="#"> 的下划线

javascript - 防止 iFrame 在其 src 具有 id 时获得焦点

javascript - 如何从事件监听器中的 Chrome 控制台中提到的某些类别中删除所有事件监听器

javascript - 如何在 JavaScript 中标记整个正则表达式?

javascript - 我想要替换 JSON 中的对象数量 第 7 个对象数量 我该如何替换?

javascript - 为什么类方法中的粗箭头没有绑定(bind)到父作用域的 this ?

html - 为什么 CSS 动画不起作用

javascript - 裁剪和保持宽高比时适合的 CSS/Javascript 图像大小