jQuery .show 与 CSS 过渡相结合



来自动画元素变换旋转(Dyin的答案)我仍然无法让它正常工作。

我想用jQuery .show()淡入div。此div 包含一个 img。现在我希望在 .show() 命令的最开头使用 css 过渡和缩放(不是 jQuery,因为它更平滑)慢速放大 img。

简而言之:我希望div 在包含的 img 缩放时淡入(同时显示和缩放)。但是我只能在 .show() 函数完成后进行缩放,如下所示:

$( this ).show(800, function(){
    $( ".bullets" ).removeClass("wait");
    $( this ).find(".csc-textpic-image img").removeClass("zoomout").addClass("zoomin");
});

如果我将 .addClass() 放在函数之外,该类会添加到源代码中,但 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);
}

任何帮助将不胜感激!

非常感谢杰里米·蒂勒!最简单的解决方案是使用完整的 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");

现在,淡入并同时扩展工作!谢谢!

相关内容

  • 没有找到相关文章

最新更新