問題があります。助けてください。
次のようなテンプレートがあります。
<div id="dad">
<div id="son" style="width: 100%">
some code
</div>
</div>
次に、jQueryアニメーションでdad-divを展開するアクションがあります
$('#dad').animation({'width': 800px}, 500);
この時点で、息子と父親は両方とも 800 ピクセルの幅で、私には問題ありません。
しかし、ajax fetch を使用してサーバーから新しい子要素を取得し、古い要素を置き換えると、サファリとクロムで奇妙なことが起こりました。
$.get(url, extraData, function(response) {
$('#son').hide('slide', null, 500, function(){
$('#son').replaceWith(response);
$('#son').show('slide', {direction: 'right'}, 500);
});
});
expand dad スクリプトは引き続き機能しますが、いくつかの違いがあります。IE と FireFox では、お父さんと息子のサイズが同時に変更されたため、効果はスムーズで良好に見えます。しかしSafariやChromeではこの工程が2段階に分かれており、まずお父さんをアニメーションで800pxに拡大し、次に息子を「ジャンプ」変更で800pxにして、この「ジャンプ」が後の工程を間違えてしまう。
IE と FireFox はこれを適切に処理したと思います。Safari と Chrome の修正を手伝ってくれる人はいますか?