当前位置:首页 > JavaScript

用js实现页面暂停

2026-03-01 18:59:27JavaScript

使用CSS动画控制暂停

通过JavaScript动态切换CSS的animation-play-state属性实现暂停效果。适用于CSS动画场景:

const element = document.getElementById('target');
element.style.animationPlayState = 'paused'; // 暂停
element.style.animationPlayState = 'running'; // 恢复

暂停视频/音频元素

对媒体元素使用HTML5 Media API进行控制:

const media = document.querySelector('video');
media.pause(); // 暂停播放
media.play();  // 继续播放

冻结定时器

清除所有正在运行的定时器实现页面"冻结"效果:

// 存储所有定时器ID
const timers = [];
timers.push(setInterval(()=>console.log('timer'), 1000));

// 暂停所有定时器
timers.forEach(timer => clearInterval(timer));

禁用事件监听

临时移除事件监听器阻止交互:

function handleClick(e) { console.log('clicked'); }
element.addEventListener('click', handleClick);

// 暂停交互
element.removeEventListener('click', handleClick);

覆盖遮罩层

创建半透明遮罩层阻止页面操作:

const overlay = document.createElement('div');
overlay.style = `
  position: fixed;
  top:0; left:0; 
  width:100%; height:100%;
  background: rgba(0,0,0,0.5);
  z-index: 9999;
`;
document.body.appendChild(overlay);

// 恢复时执行
overlay.remove();

冻结CSS过渡

通过移除过渡类名停止动画效果:

用js实现页面暂停

element.classList.remove('active'); // 移除动画类
setTimeout(() => {
  element.classList.add('active'); // 恢复动画
}, 1000);

标签: 页面js
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

vue实现页面缓存

vue实现页面缓存

使用 <keep-alive> 组件实现缓存 Vue 内置的 <keep-alive> 组件可以缓存动态组件或路由组件。通过包裹需要缓存的组件,可以保留其状态避免重复渲染。…

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

h5实现登录页面跳转页面跳转页面跳转

h5实现登录页面跳转页面跳转页面跳转

使用HTML5实现登录页面跳转 在HTML5中实现登录页面跳转可以通过多种方式完成,包括表单提交、JavaScript跳转和超链接跳转。以下是几种常见的实现方法。 表单提交跳转 使用HTML表单的a…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…