【发布时间】:2015-07-15 21:26:01
【问题描述】:
我有一个单页浏览器,它一次显示一页,并且在从一页转换到下一页时使用动画。它的工作原理是这样的:
- 用户点击按钮
- ajax 调用完成,在等待响应时页面淡出(不透明度:0)
- 如果服务器在淡出完成后 500 毫秒内没有响应,则微调器会淡入并保持在那里直到 ajax 调用完成
- 收到响应时,微调器会淡出,新页面会淡入。
我目前在页面的不透明度上使用 CSS 3 过渡动画。然而,这个问题是,在微调器可见期间,用户仍然可以与刚刚淡出的页面(不可见)表单进行交互(它没有消失,只是使用不透明度不可见)。
所以我想要一个纯 CSS 的解决方案,将页面设置为可见性:在过渡结束时隐藏(我不能使用 display: none)。怎么去这里?
【问题讨论】:
-
用 100% 宽高透明 div 包裹微调器元素怎么样?
-
这确实会阻止点击元素,但不会阻止对表单元素的标签。
-
然后使用JS禁用表单元素
-
这可行,但我正在寻找仅 CSS 的解决方案。
-
老实说,我认为 CSS 在这里是错误的方法。覆盖
<div>以防止点击,function noTab(e){e.preventDefault();e.stopPropagation();}; window.addEventListener('keydown',noTab);然后window.removeEventListener('keydown',noTab);以防止跳动(和任何打字)是完成此操作的最安全和最可靠的方法(如果启用了JS,哈哈)。
标签: css css-transitions