【问题标题】:Turn feature ON or OFF via checkbox通过复选框打开或关闭功能
【发布时间】:2018-02-23 07:35:31
【问题描述】:

我的视频中有一个功能可以循环播放下一个视频,该功能可以通过复选框打开或关闭。我正在使用警报来验证 "play next" 是否选中了复选框,而 "dont play next" 是否未选中复选框。我希望复选框被选中并默认播放(在页面加载时)并在此之后始终收听。

我现在遇到的问题是,当我收到 "dont play next" 警报时,视频仍会继续播放下一个视频。

我的 JavaScript

$(document).ready(function() {
  $(function() {
    chckplynext();
    $("#chkbox1").change(chckplynext);
  });

  function chckplynext() {
    if ($("#chkbox1").is(':checked')) {
      alert("play next");
      $("#myvid").on("ended", function() {
        window.location.href = "<?php echo'now-watching.php?nMe='.$usTitle1.'&nmov='.$usId1.'' ?>";
      });
    } else {
      alert(" Dont play next");
    }
  }
});

【问题讨论】:

  • 如果您提出问题,您应该花时间以可读的方式格式化代码。有很多工具可以自动修复代码的缩进。

标签: javascript jquery html checkbox


【解决方案1】:

如果没有工作示例,很难确切知道您正在使用哪个框架或库。但是,您似乎正在多次绑定该事件。

您将从重构代码中受益

$(document).ready(function() {
    $("#myvid").on("ended", function() {
        if ($("#chkbox1").is(':checked')) {
            alert("play next");
            window.location.href = "<?php echo'now-watching.php?nMe='.$usTitle1.'&nmov='.$usId1.'' ?>";
        } else {
            alert(" Dont play next");
        }
    });
});

变化是我们绑定了一次事件,它总是在视频结束时触发。正是在这一点上,我们可以检查是否播放下一个视频。

您可以通过将 $("#myvid").off("ended") 添加到您的 else 块中来获得与原始结构类似的结果。

【讨论】:

  • 感谢您的回答,我会尽快测试一下
猜你喜欢
  • 2018-06-11
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 2019-04-28
相关资源
最近更新 更多