javascript - 如何将 if-else 语句更改为切换?

标签 javascript html css

我有黑色文本,双击后会变成不同的颜色。我希望它能够通过双击变回黑色。现在,我有:

<script>
<h1 id="color"> I CHANGE COLORS! </h1>
<a href="javascript:void(0)" ondblclick="
        counter++;
        if(counter%2==1){color()} else {black()}
        ">Double click here</a>
</script>

调用的两个函数是color()black()。无论如何我可以使用切换而不是这个 if-else 和 javascript 吗?

最佳答案

将函数存储在一个全局可访问的对象中:

functions = {};
functions[true] = black;
functions[false] = color;

black = true

然后反转你的状态标志:

<a href="javascript:void(0)" ondblclick="
        black = !black;
        functions[black]();
        ">Double click here</a>

虽然这满足了您非常武断的要求,但这是一个可怕的解决方案。

关于javascript - 如何将 if-else 语句更改为切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574324/

相关文章:

javascript - HTMLSpanElement 与 HTMLUnknownElement

javascript - 从数组填充动态 TreeView

html - ruby :未定义的方法 `find_by_username'

javascript - 如何修复发布 html 元素的错误并阻止它运行

javascript - jquery 不改变 css background-image 属性

javascript - 无法在 phonegap android 中播放音频 mp3 文件

javascript - 全局对象中 __proto__ 和 [[prototype]] 之间的区别?

html - Flexbox 非兄弟孙辈

html - 如何在 github wiki 页面中制作 "spoiler"文本?

javascript - 在 javascript 中获取 css 高度