gpt4 book ai didi

jquery - 播放音频文件时未禁用按钮

转载 作者:行者123 更新时间:2023-12-03 02:02:32 24 4
gpt4 key购买 nike

我有一个单词列表及其对应的音频文件。单击一个按钮时,音频文件将连续播放,这部分工作正常。但是在播放列表时并未禁用该按钮。因此,有可能一次播放一次列表。这是html:

    <a class="repeat_btn" href="#"><span class="fa fa-repeat fa_repeat_ws"></span></a>

这是jQuery代码:
    "use strict";
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery("a.repeat_btn").click(function (evnt) {
evnt.stopPropagation();
jQuery(this).attr("disabled","disabled"); // to disable button
var engWords = jQuery("span.audio"),
pathVar = document.getElementById("pathVar").innerHTML,
audioElement = document.createElement("audio"),
audioType = Modernizr.audio.ogg? ".ogg": ".mp3",
i = 0;
audioPlay(i);
audioElement.addEventListener( "ended", function() {
i++;
if ( i < 100 ) {
audioPlay(i);
}
});
function audioPlay(i) {
var wordList = jQuery("span#"+engWords[i].id),
audioPath = pathVar+engWords[i].id+audioType;
wordList.addClass("set_font_green");
audioElement.src = audioPath;
audioElement.play();
jQuery.doTimeout(1000, function() {
wordList.removeClass("set_font_green");
});
}
jQuery(this).removeAttr("disabled"); // to enable the button
});
});

我的问题是需要做什么来确保在播放单词列表时禁用按钮,并在单词列表播放完毕后再次启用按钮。

最佳答案

如评论中所述,禁用property不在 anchor 元素的标准中。仅按钮。我建议您改为向其中添加一个类,并且仅当该类不存在时才继续操作。

jQuery("a.repeat_btn").click(function (evnt) {
// stop if the class is present
if (this.classList.contains('disabled'))
return;
this.classList.add('disabled');
// rest of code ...

// enable again
this.classList.remove('disabled');
});

上面的代码由于使用 classList而与IE8不兼容。

关于jquery - 播放音频文件时未禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30318972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com