javascript - 如何使用 javaScript 进行相移?

标签 javascript phase

为什么两个阶段没有在 fiddle 中移动:http://jsfiddle.net/WH7Kf/43/

function phase_switch(){
    var phase;
    clicker = document.getElementById("click");
    phase=1
    switch (phase) {
        case 1:
            clicker.onclick = do_this;
            break;
        case 2:
            clicker.onclick = do_that;
            break;
    }

    function do_this (){
        alert("this");
        phase==2;
    }
    function do_that (){
        alert("that");
        phase==1;
    }
}

window.addEventListener("load", phase_switch());

您可能会说第一阶段是唯一触发的阶段。为什么第 2 阶段没有启动?

最佳答案

你可以做得更简单:

var clicker = document.getElementById("click");
clicker.onclick = do_this;
function do_this (){
    alert("this");
    clicker.onclick = do_that;
}
function do_that (){
    alert("that");
    clicker.onclick = do_this;
}

http://jsfiddle.net/Ncz7w/

关于javascript - 如何使用 javaScript 进行相移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23485965/

相关文章:

javascript - 如何将 Unix 时间戳四舍五入到最近的半小时?

javascript - 输入类型复选框出现 : checkbox. 值,并且 setState 在首次单击时工作不正确

fft - 如何将 "zero-phase-adjust"DFT输出?

python 'Assertion Error (depth == CV_32F || depth == CV_64F)'

python - Python中的时变带通滤波器

javascript - 如何解决这个警告警告 Array.prototype.map() 需要箭头函数 array-callback-return 的返回值?

javascript - 不允许 Django + Angular 方法 PUT 和 POST

javascript - HTML5 视频自动播放/播放一次

xcode - 在 XCode 的复制 header 构建阶段将角色更改为公共(public)时,如何保留子组?

matlab - 识别信号之间的相移