javascript - Javascript button toggle not working on first click, only second click or more
问题描述
I'm not sure what's going on here, but I have this javascript toggle button on the top left of my video that I'm using to swap the video embed source and to change the closed captioning text of the toggle from "cc on" to "cc off" and back... but it only works after an initial click. What am I missing here?
Console shows a "Button not defined" on page load, but I'm not sure what isn't right.
HTML:
<div class="navbar">
<button id="togglecc" value="OFF" onclick="toggle(this);">cc on</button>
</div>
<div id="player">
<div id="la1-video-player" data-embed-id="87e859b2-5db8-4ad8-bac7-575c22288930"></div>
<script type="application/javascript" src="https://control.livingasone.com/webplayer/loader.min.js"></script>
</div>
Script:
function toggle(button) {
v = document.getElementById("togglecc");
vp = document.getElementById("player");
if (v.value == "ON") {
v.value = "OFF";
v.innerHTML = 'cc off';
vp.innerHTML = '<div id="la1-video-player" data-embed-id="9257a531-25ce-48bd-821b-9335681c45d8"></'+'div>';var a=document.createElement("script");a.setAttribute("src","//control.livingasone.com/webplayer/loader.min.js");document.getElementById('player').appendChild(a);
} else {
v.value = "ON";
v.innerHTML = 'cc on';
vp.innerHTML = '<div id="la1-video-player" data-embed-id="87e859b2-5db8-4ad8-bac7-575c22288930"></'+'div>';var a=document.createElement("script");a.setAttribute("src","//control.livingasone.com/webplayer/loader.min.js");document.getElementById('player').appendChild(a);
}
}
解决方案
Here is your updated fiddle
Also you should avoid calling function on button element like this
onclick="toggle(this);"
推荐阅读
- javascript - 将对象结果复制到参考问题
- android - 实时数据返回旧响应然后新响应总是在用户注册中使用改造
- mysql - 在解析字符串 MySQL 时消除输出中的空白空间
- php - 根据父类别名称或 ID 显示 Gravity Form ID
- r - 在R中的嵌套表中从带有日、月、年的单独列创建日期
- flutter - 在 yield* 之后调用方法
- c# - LanguageExt:我如何做相当于 Option
. 与 [Union] 匹配? - rust - 如何使用自消耗/变异器方法替换向量中的结构
- java - androidx.constraintlayout.widget.ConstraintLayout$LayoutParams 无法强制转换为 android.widget.FrameLayout$LayoutParams-当 Frame Layout Never Used
- cmake - nvcc 中间链路故障