javascript - 如何将一个值附加到 p,然后从 JavaScript 中的数组中删除它?

标签 javascript jquery arrays

代码如下:

var bgChange = "Changing background color".split("");

function typeText (sourCe, tarGet) {
    var i = 0;
    function show () {
        if (i < sourCe.length) {
            $(tarGet).append(sourCe[i]);
            sourCe.splice(i, 1);
            i = i + 1;
        }
    }
    var tiMer = setInterval(show, 30);
}

$("#button").click(function(){
    typeText(bgChange, "p");
)};

这是我想要实现的。

我想通过“split(”)”方法将字符串“Changing background color”变成一个数组,这个数组中的值将被附加到一个HTML段落标记中,间隔为30 mili-秒,这将创建一个打字动画。

另外,我希望从数组中删除已经附加的数组值,这样如果我停止并恢复打字动画,我希望动画从它停止的地方恢复,这是我的意图用于将“sourCe.splice(i, 1)”放入函数中。

但是,通过单击“#button”运行函数“typeText”只会附加以下字符:“Cagn akrudclr”。

我完全不知道是什么导致了这个问题。

最佳答案

当您从数组中删除元素时,您只需要从数组中读取第一个字符并将其附加到 paragraph 元素。

此外,关闭事件处理程序时存在语法错误。

var bgChange = "Changing background color".split("");

function typeText (sourCe, tarGet) {
    function show () {
        if (sourCe.length) {
            $(tarGet).append(sourCe[0]);
            sourCe.splice(0, 1);
        }
    }
    var tiMer = setInterval(show, 30);
}

$("#button").click(function(){
    typeText(bgChange, "p");
});  //Error here
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button">button</button>
<p></p>

关于javascript - 如何将一个值附加到 p,然后从 JavaScript 中的数组中删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35146896/

相关文章:

ios - 返回字符串数组并填充 UILabel - Swift 3

python - (4,1,2) Numpy 数组顺时针排序

javascript - 如何使用javascript知道表单中文本框的数量

javascript - 使用CombineReducer后无法访问props

javascript - b64toBlob() 仅返回大小和类型而不是完整图像数据

javascript - 使用 li 选择单选输入按钮?

javascript - OSM 页面上的警报 View 框字段无法使用 Javascript 工作

javascript - 如何使 MDL 菜单在单击后保持打开状态?

jquery:如何获取下拉选项序列号?

javascript - 如何在点击事件上更新 HTML 元素?