jQuery .show 结合 CSS 过渡
jQuery .show combined with CSS transition
来自Animate element transform rotate(Dyin 的回答)我仍然无法正常工作。
我想用 jQuery.show() 淡入 div。此 div 包含一个 img。现在我希望 img 在 .show() 命令的最开始使用 css 过渡和缩放(不是 jQuery,因为它更平滑)缓慢放大。
简而言之:我希望 div 在包含的 img 缩放时淡入(同时显示和缩放)。但是我只在 .show() 函数完成后才设法缩放,就像这样:
$( this ).show(800, function(){
$( ".bullets" ).removeClass("wait");
$( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
});
如果我将 .addClass() 放在函数外部,class 会添加到源代码中,但 img 根本不会缩放,如下所示:
$( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
$( this ).show(800, function(){
$( ".bullets" ).removeClass("wait");
})
CSS:
.zoomin {
transition: 24s linear;
-webkit-transform: scale(1.4);
-moz-transform: scale(1.4);
-ms-transform: scale(1.4);
-o-transform: scale(1.4);
transform: scale(1.4);
}
.zoomout {
transition: 24s linear;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
任何帮助将不胜感激!
非常感谢 Jeremy Thille!最简单的解决方案是完整 CSS:
我只是添加了两个 类 而不是 jQuery .show():.visible 和 .hidden
.visible {
visibility: visible;
opacity: 1;
transition: opacity 2s linear;
}
.hidden {
visibility: hidden;
opacity: 0;
transition: visibility 0s 2s, opacity 2s linear;
}
并将它们添加到父级/从父级移除/从父级 DIV:
$( this ).removeClass("hidden").addClass("visible");
$( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
现在,淡入和缩放可同时进行!谢谢!
来自Animate element transform rotate(Dyin 的回答)我仍然无法正常工作。
我想用 jQuery.show() 淡入 div。此 div 包含一个 img。现在我希望 img 在 .show() 命令的最开始使用 css 过渡和缩放(不是 jQuery,因为它更平滑)缓慢放大。
简而言之:我希望 div 在包含的 img 缩放时淡入(同时显示和缩放)。但是我只在 .show() 函数完成后才设法缩放,就像这样:
$( this ).show(800, function(){
$( ".bullets" ).removeClass("wait");
$( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
});
如果我将 .addClass() 放在函数外部,class 会添加到源代码中,但 img 根本不会缩放,如下所示:
$( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
$( this ).show(800, function(){
$( ".bullets" ).removeClass("wait");
})
CSS:
.zoomin {
transition: 24s linear;
-webkit-transform: scale(1.4);
-moz-transform: scale(1.4);
-ms-transform: scale(1.4);
-o-transform: scale(1.4);
transform: scale(1.4);
}
.zoomout {
transition: 24s linear;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
任何帮助将不胜感激!
非常感谢 Jeremy Thille!最简单的解决方案是完整 CSS:
我只是添加了两个 类 而不是 jQuery .show():.visible 和 .hidden
.visible {
visibility: visible;
opacity: 1;
transition: opacity 2s linear;
}
.hidden {
visibility: hidden;
opacity: 0;
transition: visibility 0s 2s, opacity 2s linear;
}
并将它们添加到父级/从父级移除/从父级 DIV:
$( this ).removeClass("hidden").addClass("visible");
$( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
现在,淡入和缩放可同时进行!谢谢!