jQuery:使用退出按钮退出全屏模式时如何执行代码?

2024-01-13

以下问题:使用我的代码,我通过单击列表中的图像进入全屏模式。我通过 jQuery 将下一个按钮和上一个按钮移动到屏幕边缘。但离开全屏模式后,我希望它们回到原来的位置。但是如何检测全屏模式是否被取消呢?

这是我的代码: HTML:

<div id="slider-control-left"><span id="slider-prev"></span></div>
<div id="slider">
  <ul class="bxslider">
    <li><img ... /></li>
    ...
    <li><img ... /></li>
  </ul>
</div><!-- end slider-->

javascript:

$(document).ready(function () {
        $('.bxslider li img').click(function (event) {
            var clicked = $(this);
            var clicked_index = clicked.index() + 1;
            if (clicked[0].mozRequestFullScreen) { //works only for firefox so far
                clicked[0].mozRequestFullScreen();
                $('#slider-next').css({
                    "position": "fixed",
                    "right": "0",
                    "top": "50%",
                    "z-index": "2147483647"
                });
                $('#slider-next').click(function (event) {
                    clicked_index = clicked_index + 1;
                    var clacked = $('.bxslider li img').eq(clicked_index);
                    document.mozCancelFullScreen();
                    clacked[0].mozRequestFullScreen();
                });
           });

        });

正如您所看到的,通过单击下一个按钮,全屏模式将在“幻灯片”放映期间取消。但我只需要在通过退出按钮退出全屏时执行我的代码。

我已经做了一些研究,并试图找出如何检测退出全屏,我尝试在我的代码中嵌入一些代码片段,但我未能让它工作。

这段代码根本没有多大帮助:if (window.innerHeight == screen.height) {...}

检测转义按钮按键有效,但我无法嵌入我的代码中以使其工作:

$(document).keyup(function (e) {
            if (e.keyCode == 27) {
                $('#slider-next').css({
                    "position": "absolute",
                    "right": "auto",
                    "top": "194px",
                    "z-index": "auto"
                });
            }
        });

有人可以帮忙吗?


根据您使用的浏览器,您需要绑定适当的前缀。您可以检测事件 screenchange,如果它发生了变化,您需要轮询它当前是否处于全屏状态。 fullscreen 属性始终绑定到文档,因此您可以使用它来检查当前状态并使用它来相应地触发事件。以下代码片段绑定到所有主要浏览器并在所有主要浏览器中进行检测。注意:这些事件在ios中不可用

$(el).bind('webkitfullscreenchange mozfullscreenchange fullscreenchange', function(e) {
    var state = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen;
    var event = state ? 'FullscreenOn' : 'FullscreenOff';

    // Now do something interesting
    alert('Event: ' + event);    
});

进一步阅读此内容http://davidwalsh.name/fullscreen http://davidwalsh.name/fullscreen

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery:使用退出按钮退出全屏模式时如何执行代码? 的相关文章

  • 单独的数据间隔 bootstrap 轮播 4

    我想为 Bootstrap 4 轮播上的每张幻灯片设置单独的数据间隔 我尝试了一些其他的 javascript 片段 但是它们似乎不适用于我的代码 例如Bootstrap 4 轮播堆栈溢出 https stackoverflow com q
  • Javascript - 使数组索引 toLowerCase() 不起作用

    我试图将所有数组索引设置为小写字符串 但它不起作用 我在这里查看了其他答案并尝试了他们的解决方案 例如使用toString 添加之前toLowerCase但它不起作用 这很奇怪 我创建了一个问题的jsfiddlehere https jsf
  • 如何针对 IE 进行优化?

    我有一个 JS 密集型应用程序 它在 IE 中运行缓慢 我将花费大约一周的时间来优化 IE 并且我想要一些关于尝试的方向 我发现这个线程引用Drip https ieleak svn sourceforge net svnroot iele
  • 使用 jquery 更改锚文本和图标

    我有一个隐藏或显示 div 的锚标记 但我无法更改它的文本和图标 如何更改文本和图标标签 因为目前它将图标标签解析为常规文本 锚标记 a class collapse info btn i class icon arrow up icon
  • bootstrap-select 未选择任何内容

    我正在使用引导选择
  • DataTables:从表过滤器中创建 url 查询字符串

    当我在表中搜索或单击过滤器时 我想从表中进行 url 查询以将此 url 共享给某人 有人知道这怎么可能吗 这是我的代码 example dataTable aLengthMenu 10 25 50 100 1 10 25 50 100 A
  • 将 PHP 变量传递给 Jquery 而不刷新

    对于我缺乏 jquery 知识 我预先表示歉意 在我正在构建的这个网站中 向用户展示了许多代表植物的缩略图 单击缩略图时 将启动 jquery 弹出窗口 我希望能够做的是将一个包含植物 ID 的 php 变量传递给 jquery 弹出窗口以
  • 捕获按键以过滤元素

    我正在创建一个
  • PHP、jQuery Ajax 和 json 跨域返回

    我的 php 编码页面位于一台返回 json 结果的服务器上 php 文件名为 getInfoData php 返回如下 echo json encode v 不 我可以使用 getJSON 读取 json 并在同一服务器上运行它 但我需要
  • IE jquery click 仅适用于 li 中的文本,不适用于整个框

    我创建了一系列作为 li 的按钮 我希望用户能够单击它们 ul class item list li class item button style color 4bb2c5 1 li li class item button style
  • 如何在 jQuery 中创建 qrcode 的下载链接?

    我在用着goqr me http goqr me 用于创建二维码图像的 api 现在我想创建一个二维码图像的下载链接 我这样创建 qrcode 图像 function generateQrcode data var params data
  • 根据所选选项更改表数据

    我有一个表显示数据库中的数据 我有一个选择框 人们可以在其中选择他想要显示数据的货币 当他这样做时 我需要刷新数据并显示为新货币 我不知道如何在不刷新整个页面的情况下做到这一点 有什么想法吗
  • onYouTubeIframeAPIReady 函数未调用

    我想打电话onYouTubeIframeAPIReady函数 但这没有触发 我只得到frameID在控制台中 但其他函数没有被调用 document ready function var player var ytsrc video hol
  • 使用日期类型将输入字段中的日期居中

    我想将日期居中input not input inside div 如果我进行居中 它将把日期居中于input因为有一个右侧面板用于根据日历选择日期 该面板根据输入宽度调整大小 用于演示的小代码片段 center text align ce
  • jQuery 清除 DOM 先前加载的脚本

    大家好 我正在开发一个项目 我使用 jQuery 将页面加载到 div 中 每个页面都有自己的 jQuery 脚本 我的问题是以前加载的脚本没有从 DOM 中清除 这给我的项目带来了更大的问题 例如 我在一个页面中有一组计时器 它会自动保存
  • 如何制作像Stackoverflow一样的可折叠评论框

    我正在构建一个网站 并且有一个状态更新列表 我希望允许用户为列表中的每个项目撰写评论 但是我正在尝试实现一个类似于堆栈溢出工作方式的用户界面 特别是可折叠的评论表单 列表 用户在其中单击对列表中的特定状态更新添加评论 并且在列表中的该项目下
  • 从 DOM 中删除后,动态添加的 JavaScript 脚本会继续执行

    因此 我正在创建一个 SPA 并使用 AJAX 将 HTML 页面加载到我网站的索引页面中 问题是 当包含我的一个页面时 它似乎会徘 徊并执行其中的 JavaScript 代码 即使它随后从 DOM 中删除 索引 html 正文 div d
  • XMLHttpRequest xml 响应与 jQuery 1.4.1 的问题,如何强制将请求响应作为纯文本处理?

    我只是在玩 jQuery 并尝试一些应该很简单的东西 但它就是行不通 document ready function ajax url http soiduplaan tallinn ee data a p routes transport
  • 是否可以使用 Javascript 读取 PHP 会话?

    我正在使用 cakePHP 1 26 在控制器中 我得到了一个包含以下代码行的函数 this gt Session gt write testing user this gt Session gt read testing 现在系统编写了一
  • jQuery fadeOut 一个 div,fadeIn 另一个 div 在其位置

    我正在尝试一个简单的 jQuery 脚本来淡出一个 div 并淡入另一个 div 但由于某种原因 第一个 div 永远不会淡出 这可能是代码的一个明显问题 但我似乎无法弄清楚 div div div div

随机推荐

  • Excel VBA 复制整个工作表并粘贴为值

    我需要创建一个 VBA 语句 它将复制整个活动工作表 然后粘贴为值 看起来很简单 但我不熟悉 VBA 它本质上是自动执行左上角的 单击 并复制 gt 粘贴为值 这是我正在尝试的 Sub CopyPasteSheetAsValues Copy
  • 使用类的参数数量错误或属性分配无效

    谁能解释一下为什么我在第 12 行收到此错误 很明显这是一个数组 为什么这样获取不到索引位置0的值呢 我真的需要那个额外的变量 arr 吗 Option Explicit Dim obj Set obj new ClsTest obj si
  • UIImagePickerController 编辑允许将 UIImage 锁定为最大尺寸 320x320

    Update 在 iPhone OS 3 0 中 整个 UIImagePickerController API 发生了变化 这个问题和答案应该考虑2 2 遗留代码 当使用 UIImagePickerController 并且您允许编辑图像时
  • 以编程方式将文件上传到 Box.com 的最佳方式

    我已经阅读了整个 Box com 开发人员 api 指南 并花了几个小时在网上研究这个特定问题 但我似乎找不到明确的答案 而且如果我要失败 我也不想开始创建解决方案错误的道路 我们有一个生产环境 一旦我们完成文件的处理 我们的生产软件系统就
  • 当子类中有重写函数时如何转换为超类

    超一流的Car和一个子类Jaguar被创建 功能信息 gt 无效在子类中重写了超类的函数 名为的实例theAuto类型的Jaguar已经被创建了 Problem 看来我不能向上投射theAuto的类型Car 请查看代码片段及其注释 clas
  • 在pythonplotly包中操作散点图中的图例

    我想使用 python 中的plotly 和特定标记颜色来绘制散点图 但当我成功做到这一点时 图例并不对应 现在 图例中的所有标签都具有相同的颜色 蓝色 我想要图例代表risks从我的数据中 颜色与代码中提到的相同 像这样 蓝色标记 中等低
  • jQuery:获取 jQuery 中隐藏元素的高度

    我需要获取隐藏 div 内元素的高度 现在我显示 div 获取高度并隐藏父 div 这似乎有点傻 有没有更好的办法 我正在使用 jQuery 1 4 2 select show optionHeight firstOption height
  • 在 iPad 中创建交互式视频 - 用于产品演示的应用程序

    我想创建需要在 iPad 本机应用程序上运行的视频 该应用程序需要通过 iPad 展示产品演示 它也需要具有互动性 我知道我们可以在 Flash 中执行这些操作 因为 iPad 不支持 Flash 我有什么选择 我很感激任何指导或提示 先感
  • 如何将 C# 中的“where”关键字与通用接口和继承一起使用

    我想要实现的是 声明一个泛型类 将 T 限制为实现 IMySpecialInterface 的类型 其中 X 不是已知类型 并让该类继承父类 举一个不正确的例子 public class MyClass
  • 层次结构查看器结果解释

    几天前 我在 Eclipse 中安装了 ADT 插件的更新 并且刚刚尝试了新的层次结构查看器工具 除了我花了一段时间才发现测量值仅在第一个 父 视图中计算之外 我还观察到每次显示的值都不相同 即使我的应用程序中没有任何更改 例如 我在模拟器
  • .NET 序列化排序

    我正在尝试使用 XmlSerializer 和继承序列化一些对象 但在排序结果时遇到一些问题 下面是一个与我设置类似的示例 public class SerializableBase XmlElement Order 1 public bo
  • C++ 从 Linux 访问 SQL Server

    我需要用 C 将一些数据从 Linux 写入 SQL Server 数据库 我找到了这个sqlapi com 但我认为 首先必须安装 ODBC 驱动程序并且必须工作 我关注了这个 adminlife net allgemein mssql
  • AVPlayer,播放/暂停状态通知?

    我正在寻找一种方法 以便在发生时准确收到通知AVPlayer开始播放 有 费率 属性 但目前我正在定期检查它NSTimer获取更新 我尝试了 KVO 但显然它不符合 KVO 标准 我知道有events https developer app
  • 使用 jquery 动态生成的列表项上的单击事件

    我有一个动态生成的列表 然后我单击该项目并传递index 到另一个函数 问题是这个列表是动态填充的 当我这样做时我的代码没有响应click事件 但是 如果我在动态填充的元素之外添加几个静态 li 元素到列表中 那么这些静态元素就可以工作 这
  • 未通过 .where() 从云函数获取结果

    我正在使用此代码通过比较从集合中获取数据 eslint disable const functions require firebase functions const admin require firebase admin admin
  • 嵌入 Flash 对象上的 HTML 包装器 div 无法通过 jQuery“点击”

    我一直在尝试按照客户的要求进行操作 一旦客户单击 swf 格式的顶部横幅 就重定向到活动页面 然后重定向到目标页面 您可以在以下位置查看已完成的操作 http ausdcf org http ausdcf org 如果您使用 Firefox
  • 在gnuplot中绘制不同颜色的区域

    我制作了以下脚本来在 gnuplot 中绘制图表 有几个点 每个点都封闭在一定的区域内 我想给每个封闭区域指定颜色 我的脚本如下 set terminal wxt set yrange 0 100 set xrange 0 100 unse
  • 检测我正在哪台计算机上运行 R 脚本

    我正在寻找一个 R 函数来返回正在运行脚本的计算机的标识符 或者至少区分两台已知计算机中的一台 我有两台 PC 均运行 Windows 和 RStudio 我通过 VPN 使用办公室的台式机和笔记本电脑 通常处理相同的项目 并且始终使用 R
  • 是否可以等到其他线程处理发布到它的输入消息?

    我想可靠地模拟用户输入到其他窗口 我用SendInput为此 但我需要等到目标应用程序处理输入后再发送更多内容 据我所知 SendInput尽管它的名字如此 但它实际上将消息发布到队列中 并且不会等到它们被处理 我的尝试是基于等待消息队列至
  • jQuery:使用退出按钮退出全屏模式时如何执行代码?

    以下问题 使用我的代码 我通过单击列表中的图像进入全屏模式 我通过 jQuery 将下一个按钮和上一个按钮移动到屏幕边缘 但离开全屏模式后 我希望它们回到原来的位置 但是如何检测全屏模式是否被取消呢 这是我的代码 HTML div span