如何在函数之间切换
How to do toggle between functions?
HTML
<button type="button" class="btn" name="showAllBtn" onClick="showAllSteps()">Show all</button>
JS
function showAllSteps()
{
//code
}
function nextStep()
{
//code
}
如果我单击全部显示按钮,它应该在这两个功能之间切换。谁能帮我?
您可以通过使用 dataset
来存储单击状态来做到这一点,
document.querySelector("button[name='showAllBtn']").addEventListener("click",function(){
var state = this.dataset.clicked;
state = state || true;
((state) ? showAllSteps : nextStep)();
this.dataset.clicked = !state;
},false);
编辑:True
/false
似乎会导致上述代码出现问题。因此,我在上面做了一些调整,并在下面给出了它。
document.querySelector("button[name='showAllBtn']").addEventListener("click",function(){
var state = this.dataset.clicked;
state = typeof state == "undefined" ? "Y" : state;
((state == "Y") ? showAllSteps : nextStep)();
this.dataset.clicked = (state == "Y") ? "N" : "Y";
},false);
演示
function showAllSteps() {
alert('showAllSteps');
expectedFunc = function() { nextStep(); };
}
function nextStep() {
alert('nextStep');
expectedFunc = function() { showAllSteps(); };
}
function toggleFunction() {
expectedFunc();
}
var expectedFunc = function() { showAllSteps(); };
<button type="button" class="btn" name="showAllBtn" onclick="toggleFunction()">Show all</button>
JsFiddle在这里(针对IE更新(:https://jsfiddle.net/t0g6ayhq/2/
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- JavaScript中的函数和对象之间没有区别吗?
- Jquery在函数之间传递表行
- d3中堆栈函数和嵌套函数之间的差异
- javascript函数的:和=之间的区别
- 函数中this和var之间的区别
- 如何在函数之间切换
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 函数声明与函数表达式之间的性能差异
- 函数()和新函数()之间的区别
- MeteorJS-函数()和()之间的差异=>
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 在Jquery调用之间添加其他函数
- 在函数之间传递javascript变量
- 两个函数之间的角度承诺
- 命名一个在“”和“”之间切换元素的函数;启用”;以及“;被禁用”;州
- 如何在异步函数与Deferredjquery之间同步
- 如何创建一个确定2个数字之间值的函数
- Javascript创建函数,以便在其他函数之间共享变量