【发布时间】:2025-12-31 11:25:16
【问题描述】:
我正在使用这样的 CSS3 过渡:
if( pop.attr('status') == 'visible' ) {
pop.attr('status', 'hidden')
// pop transition - class of "pop" was added when showing the element
.addClass('reverse out')
.hide('fast')
}
// clean up pop() transition
window.setTimeout( function() {
pop.removeClass('reverse out pop');
}, 350);
问题:
有没有办法通过状态属性处理可见性并且仍然有 CSS3 转换?我宁愿像这样使用一些 CSS 规则:
pop[status="hidden"] { display: none; }
pop[status="visible"] { display: block; }
而不是使用 hide() 和 show(),因为我有时最终会看到状态设置为 hidden 的可见元素,这使我的脚本失败
因此,仅使用状态来确定可见性对我来说更有意义(并且更少混淆)。
感谢您的意见!
编辑:
我正在展示这样的元素:
pop.attr('status','visible')
// pop() transition
.addClass('ui-panel-active pop in')
.show('fast')
// clean up pop transition
window.setTimeout( function() {
$popPanel.removeClass('in');
}, 350);
Status 是我分配给元素以监视它是否可见的属性。我正在使用来自 Jquery Mobile 的 CSS3 过渡。让我知道是否也应该发布这些。
感谢您的帮助。
编辑 2: 这是一个 jsfiddle - http://jsfiddle.net/hDGVZ/9/
【问题讨论】:
-
在这个例子中我没有看到任何 CSS 过渡。你能发布相关的 CSS/设置一个演示吗?
-
您确定
status是真实属性吗?我从来没有听说过它,也找不到任何参考。此外,应该如何在两个二进制(开/关)状态之间发生转换(插值)?通常你会使用opacityCSS 属性或类似属性。 -
你能发布 reverse out pop css 类吗?你确定你使用的是 css3 吗?
-
@RobW:这里的小提琴:jsfiddle.net/hDGVZ/6
标签: javascript jquery css visibility css-transitions