一个HTML按钮可连续调用3个函数
One HTML button to invoke 3 functions consecutively
我是Javascript编程的新手,需要一些帮助
我有一个HTML按钮,我想调用3个函数
第一次单击按钮时,我想调用函数1。
下次单击按钮时,我想调用函数2。
第三次单击按钮时,我想调用函数3。
我在想我可以使用if
测试
单击按钮时i++
,if ( i == 1){ function1(); }
HTML
<button type="button" onclick="myFunction()">Hei</button>
Javascript
if(i == 1){
test1();
}
if(i == 2){
test2();
}
if(i == 3){
test3();
}
function test1() {
document.getElementById("print1").innerHTML = "test1";
}
function test2() {
document.getElementById("print2").innerHTML = "test2";
}
function test3() {
document.getElementById("print3").innerHTML = "test3";
}
这只是为了测试/练习,所以代码没有点
但我认为必须有另一种方法。
试试这个:
<button onclick="myFun(i)"></button>
在javascript中,
function myFun(i) {
(i===0 && function1()) || (i===1 && function2()) || function3();
}
//Html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<button onclick="triggerFunc()">Click Me</button>
</body>
</html>
//Javascript
var obj = {
f1: function() {
alert('from f1');
},
f2: function() {
alert('from f2');
},
f3: function() {
alert('from f3');
}
};
window.flag = 1;
function triggerFunc() {
var flag = window.flag + 1;
if(flag > 3){
flag = 1;
}
window.flag = flag;
obj['f'+ flag]();
}
只需检查jsbin链接http://jsbin.com/dudubaxafu/edit?html,js,输出
您可以执行以下代码:-
HTML代码:-
<button type="button" onclick="myFunction()">Hei</button>
javascript代码:-
i = 1;
function myFunction()
{
if (i == 1)
{
i++;
test1();
}
else if (i == 2)
{
i++;
test2();
}
else if (i == 3)
{
i++;
test3();
}
}
function test1() {
document.getElementById("print1").innerHTML = "test1";
}
function test2() {
document.getElementById("print2").innerHTML = "test2";
}
function test3() {
document.getElementById("print3").innerHTML = "test3";
}
它可能会对你有所帮助。
我不建议通过窗口["I"]污染全局命名空间,因为它限制您只能使用一个这样的按钮。
我会用这样的东西:
function cycle(){
var i = 0;
var args = arguments;
return function(){
args[i]();
i++;
if(i>=args.length)
i = 0;
}
};
那么你可以这样使用它:
document.getElementById("button1").addEventListener("click", cycle(
function(){
alert(1);
},
function(){
alert(2);
},
function(){
alert(3);
}));
这是一个小提琴样品:https://jsfiddle.net/h6qsam8e/
相关文章:
- 如何调用两个函数是一种html输入类型
- 是否可以在javascript函数参数列表中调用多个函数
- 在 onchange 上调用 2 个 JS 函数,并且都返回一些值
- 在 javascript 中通过继承调用两个函数
- 尝试从单选按钮显示的JSON数组中调用多个对象
- iMacros iim播放如何调用两个函数
- 如何在Javascript中调用多个函数
- 如何在ReactJS中同时调用多个ajax(并同步获得结果)
- 在onload上调用两个函数不起作用
- 吞咽Gulp If.如何调用几个插件
- 为同一标记中的两个不同事件调用两个javascript方法
- 如何使用angularjs在单个ng-init-directice中调用多个函数
- 如果在javaScript中的按钮单击事件中调用两个函数会发生什么
- 如何使用onclick事件中的函数,并使用循环对函数中数组中的函数进行计数,从而调用多个JavaScript函数
- 调用多个函数在同一页面上生成文本框
- 在文件中调用函数,而被调用的函数调用第一个文件中的另一个函数
- 在同一事件处理程序上调用两个函数
- 在 Javascript 中调用多个延迟的最有效方法是什么?
- 在 Body Onload 上调用三个 Javascript 函数
- 为什么函数调用多个 onClick 事件