邯郸市做网站建设建设一个网站费用

张小明 2026/1/14 21:14:22
邯郸市做网站建设,建设一个网站费用,开源免费企业网站源码,厦门网红打卡景点有哪些// 视频进度控制脚本 - 直接复制到浏览器控制台运行 // 支持左右箭头键快进/快退视频(function () {use strict;// 配置const SEEK_SECONDS 5; // 每次跳转的秒数const LONG_SEEK_SECONDS 10; // 长按Shift时跳转的秒数console.log(#x1f3ac; 视频键盘控制已启用);consol…// 视频进度控制脚本 - 直接复制到浏览器控制台运行 // 支持左右箭头键快进/快退视频 (function () { use strict; // 配置 const SEEK_SECONDS 5; // 每次跳转的秒数 const LONG_SEEK_SECONDS 10; // 长按Shift时跳转的秒数 console.log( 视频键盘控制已启用); console.log(← 左箭头: 后退 ${SEEK_SECONDS} 秒); console.log(→ 右箭头: 前进 ${SEEK_SECONDS} 秒); console.log(Shift ← / →: 前进/后退 ${LONG_SEEK_SECONDS} 秒); console.log(空格键: 播放/暂停); console.log(↑ / ↓: 音量增减); // 查找页面上的视频元素 function getVideoElement() { // 优先查找正在播放的视频 const videos document.querySelectorAll(video); for (let video of videos) { if (!video.paused || video.currentTime 0) { return video; } } // 如果没有正在播放的,返回第一个视频 return videos[0] || null; } // 显示提示信息 function showToast(message) { const existingToast document.getElementById(video-seek-toast); if (existingToast) { existingToast.remove(); } const toast document.createElement(div); toast.id video-seek-toast; toast.textContent message; toast.style.cssText position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.8); color: white; padding: 15px 30px; border-radius: 8px; font-size: 18px; font-weight: bold; z-index: 999999; pointer-events: none; animation: fadeInOut 1s ease-in-out; ; // 添加动画样式 if (!document.getElementById(video-seek-toast-style)) { const style document.createElement(style); style.id video-seek-toast-style; style.textContent keyframes fadeInOut { 0% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); } 20% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 80% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); } } ; document.head.appendChild(style); } document.body.appendChild(toast); setTimeout(() toast.remove(), 1000); } // 格式化时间 function formatTime(seconds) { const h Math.floor(seconds / 3600); const m Math.floor((seconds % 3600) / 60); const s Math.floor(seconds % 60); if (h 0) { return ${h}:${m.toString().padStart(2, 0)}:${s.toString().padStart(2, 0)}; } return ${m}:${s.toString().padStart(2, 0)}; } // 键盘事件处理 function handleKeyPress(e) { const video getVideoElement(); if (!video) { console.warn(未找到视频元素); return; } // 如果焦点在输入框上,不处理 const activeElement document.activeElement; if (activeElement ( activeElement.tagName INPUT || activeElement.tagName TEXTAREA || activeElement.isContentEditable )) { return; } let seekAmount e.shiftKey ? LONG_SEEK_SECONDS : SEEK_SECONDS; let handled false; switch (e.key) { case ArrowLeft: // 左箭头 - 后退 video.currentTime Math.max(0, video.currentTime - seekAmount); showToast(⏪ ${formatTime(video.currentTime)}); handled true; break; case ArrowRight: // 右箭头 - 前进 video.currentTime Math.min(video.duration, video.currentTime seekAmount); showToast(⏩ ${formatTime(video.currentTime)}); handled true; break; case : // 空格 - 播放/暂停 if (video.paused) { video.play(); showToast(▶️ 播放); } else { video.pause(); showToast(⏸️ 暂停); } handled true; break; case ArrowUp: // 上箭头 - 增加音量 video.volume Math.min(1, video.volume 0.1); showToast( 音量: ${Math.round(video.volume * 100)}%); handled true; break; case ArrowDown: // 下箭头 - 减少音量 video.volume Math.max(0, video.volume - 0.1); showToast( 音量: ${Math.round(video.volume * 100)}%); handled true; break; case f: case F: // F键 - 全屏 if (document.fullscreenElement) { document.exitFullscreen(); } else { video.requestFullscreen().catch(err { console.error(无法全屏:, err); }); } handled true; break; case m: case M: // M键 - 静音 video.muted !video.muted; showToast(video.muted ? 静音 : 取消静音); handled true; break; } if (handled) { e.preventDefault(); e.stopPropagation(); } } // 移除旧的监听器(如果存在) if (window.videoSeekControlListener) { document.removeEventListener(keydown, window.videoSeekControlListener); } // 添加新的监听器 window.videoSeekControlListener handleKeyPress; document.addEventListener(keydown, handleKeyPress, true); console.log(✅ 键盘控制已激活!); // 显示启动提示 showToast(⌨️ 键盘控制已启动); })();
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

四川省江油市建设局网站做游戏试玩网站

蓝奏云文件直链解析工具:快速集成指南 【免费下载链接】LanzouAPI 蓝奏云直链,蓝奏api,蓝奏解析,蓝奏云解析API,蓝奏云带密码解析 项目地址: https://gitcode.com/gh_mirrors/la/LanzouAPI 蓝奏云直链解析工具是…

张小明 2026/1/14 2:09:36 网站建设

钦州网站推广WordPress多站点默认设置

一、背景使用雷达探测物体时,雷达发射电磁波,电磁波撞到物体后反射回来,雷达接收回波信号来判断物体的位置。想象一下,如果雷达发出的信号非常弱,信号还没有到达物体处或者回波还没回来就衰减差不多了,雷达…

张小明 2026/1/14 1:28:10 网站建设

网站建设要多少钱app18种禁用软件黄app

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…

张小明 2026/1/14 2:13:31 网站建设

用字母做logo的网站北京高端网站建设工作

Steam创意工坊模组下载终极方案:高效获取跨平台游戏资源 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为GOG平台购买的游戏无法使用Steam创意工坊的精彩模组而…

张小明 2026/1/13 23:33:11 网站建设

校园微网站建设wordpress中怎么排序

一、测试资产管理为何需要版本控制与配置管理?在敏捷与DevOps成为主流的今天,软件迭代速度急剧加快,测试活动也随之变得高频且复杂。测试团队在日常工作中产出并依赖大量资产,如:测试设计资产:测试计划、测…

张小明 2026/1/14 2:15:31 网站建设

嘉定区建设局网站腾讯广告投放推广平台价格

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/14 2:47:40 网站建设