javascript - 必须点击两次才能触发 onclick 按钮

标签 javascript html css button onclick

我必须在 onclick-button 上单击 2 次才能第一次触发它。前 2 次点击后,该按钮按预期工作。

这是我的代码:

var cv3 = document.getElementById("gallerycanvas");
var context03 = cv3.getContext("2d");
var buttonnext = document.getElementById("buttoncanvasnext");

var myImages = [
    'Skins/MonkeyKing_0.jpg',
    'Skins/MonkeyKing_1.jpg',
    'Skins/MonkeyKing_2.jpg',
    'Skins/MonkeyKing_3.jpg',
    'Skins/MonkeyKing_4.jpg',
    'Skins/MonkeyKing_5.jpg',
    'Skins/MonkeyKing_6.jpg'
];
var img = document.createElement("img");
var i = 0;
img.setAttribute('src', myImages[i])

img.onload = function() {
    context03.drawImage(img, 0, 0);

    if (i >= myImages.length) {
        i = 0;
    }

    buttonnext.onclick = function() {    
        img.setAttribute('src', myImages[i++]);
        context03.drawImage(img, 0, 0);
    }
}

你能帮帮我吗?谢谢!

最佳答案

使用++i代替i++

要感受差异,只需在控制台警报中使用两者即可。

++i (pre) 在使用变量之前递增

i++(后)递增之后

关于javascript - 必须点击两次才能触发 onclick 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52281067/

相关文章:

css - `animation-fill-mode: none;` 不工作

css - 使用 Bootstrap 主题时出现异常背景问题 - ASP.NET Core

javascript - 使用nodejs验证文件上传

html - 无法修复的 Bootstrap 框/边框

jquery - 添加类,最近的 div

html - 处理 CSS 余数时避免元素重叠

html - Bootstrap 列高等于行高

Javascript 字符串替换错误 : Variable is undefined

javascript - 谷歌地图API获取行驶时间和道路

JavaScript 和问题