带有jQuery点击功能的两个独立事件
Two separate events with jQuery click function
我正在尝试创建一个电视模拟,用户点击电源按钮,它会加载一个外部HTML文件,该文件只是一个视频(出于造型等目的,封装在div中)到电视图像中(这是一个以电视图像为背景的div,使其看起来像有人在打开并观看电视)。然而,我也想让用户能够关闭电视。目前我已经成功地在按下电源按钮时加载了外部html文件(其中包含视频)。我需要知道如何为同一个按钮创建"关闭"功能,而不是让该按钮重复"打开"功能。
我猜我必须用这个按钮做两个功能,当打开时,它还会加载一个覆盖在电源按钮顶部的div,然后它将作为要单击的元素,用一个单独的jquery或JS函数关闭电视?因为如果我再次按下电源按钮,它只会重复打开功能吗?
我真的在寻找这个理论,这样我就可以知道我必须做什么以及如何做,但这是目前打开电视的jQuery
$("#switch").on("click",function(){
$("#broadcast").load("shows.html");
});
重要的是,用户认为电源按钮正在打开和关闭电视,即使通过第一次/初始点击在电源按钮上放置了一些覆盖或不可见元素。
您可以简单地使用一个变量来存储电视是否打开的"状态":
var tvOn = false;
$("#switch").on("click", function () {
var $el = $('#broadcast');
if (tvOn) {
$el.empty();
}
else {
$el.load("shows.html");
}
tvOn = !tvOn;
});
或者,如果shows.html
文件是静态内容,您可以先加载一次,然后在单击按钮时显示/隐藏容器:
var $el = $('#broadcast');
$el.load("shows.html");
$("#switch").on("click", function () {
$el.toggle();
});
我不确定这是否真的可行,但我认为会的。
$("#switch").on("click",function(){
$("#broadcast").toggle().load("shows.html");
});
只需在两者之间添加一个toggle()
方法,就可以进行切换。然而,它仍然会在后台播放视频,等等。要真正了解其他内容,还需要更多的代码。
相关文章:
- DataTables合并了两个独立表中的jQuery/Javascript函数
- 删除两个独立对象中的属性,而不使用多余的删除语句
- 两个独立工作的javascript函数,但不能一起工作
- 如何从两个独立的HTML ID中复制值
- 在JSON中创建一个数据对(不是字典,而是两个独立的数据)
- 你能写一些javascript,根据URL参数加载两个独立的index.html页面吗
- 在同一命名空间中保留两个独立的javascript文件/代码段
- 使用javascript"随机引用“;脚本,但跨越两个独立的元素
- 如何在 AngularJS 中的两个独立模块之间共享数据
- 两个独立的 React 副本
- 组合来自两个独立函数的结果
- 基于属性匹配两个独立的Javascript对象
- 带有jQuery点击功能的两个独立事件
- jQuery在两个独立的事件上激发函数
- 将JSON数据拆分为两个独立的数组
- 如何防止php中两个独立的ajax调用修改同一个数据库
- 同时运行两个独立的jQuery
- indexedDb-使用两个独立的密钥(本地和服务器ID/联机和脱机)进行保存/更新
- 在两个独立的成功http请求后激发回调
- 使用parse.com,我如何连接一个查询以返回两个独立查询的结果.equalTo