CSS Delay Transition 改变className后的效果?

标签 css transition

我有如下CSS代码

#example { opacity: 0; transition: opacity 500ms; }
#example.visible { opacity: 1; }

使用此 JavaScript 使其可见

setTimeout(function () {
  document.getElementById('example').className = 'visible'
}, 500)

如您所见,我的意图是在 div 可见之前延迟半秒。

如果我要继续使用 JavaScript,我将需要使用 clearTimeout,以防在第一个 500 毫秒之前取消“使可见”要求。

有没有办法使用 CSS 代替这个初始延迟?这将使我能够简化我的 JavaScript。

最佳答案

css transitions中有一个延迟选项

#example { opacity: 0; transition: opacity 500ms 500ms;}
#example.visible { opacity: 1; }
document.getElementById('example').className = 'visible'

http://jsfiddle.net/mowglisanu/68uUV/

关于CSS Delay Transition 改变className后的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21445799/

相关文章:

javascript - 加载时 D3 中的转换

javascript - 在 jQuery Mobile 中实现由各种事件触发的幻灯片动画

html - Bootstrap 3 - 流体容器内的偏移量

javascript - anchor 不再工作

html - CSS 一半边框

javascript - 警报后背景变化

html - CSS 背景无效属性

javascript - D3 : move circle between two different g elements in force layout

javascript - 导航栏过渡动画仅在向上滚动时

CSS:无法使高度过渡工作