ページ遷移を実現するために取り組んでいるサイトで AJAXify を使用していますが、jQuery で奇妙な動作が発生しています。
私のコード:
HTML (jQuery で背景をフェードアウトしています)
<div id="backgrounds">
<img src="/assets/Uploads/hpbg3.jpg" alt="" class="bodybackground">
<img src="/assets/Uploads/hpbg2.jpg" alt="" class="bodybackground">
<img src="/assets/Uploads/hpbg4.jpg" alt="" class="bodybackground">
<img src="/assets/Uploads/hpbg5.jpg" alt="" class="bodybackground">
</div>
jQuery
$('.otherClass').each(function() {
$('#backgrounds').fadeOut(function(){
alert('fade');
});
});
$('#main .container.homepageClass').each(function() {
$('#backgrounds').fadeIn();
});
CSS
#backgrounds {display: none; position: absolute; left: 50%; margin-left: -714px;}
AJAX リンクを介してページにリンクするのではなく、URL を介してページをロードすると、div は正しくフェードアウトしますが (アラートが表示されます)、AJAX 化されたナビゲーションを介してページにリンクすると、まだフェードは発生しません。私はまだアラートを受け取っているので、関数はfadeOut()が確実にトリガーされています。
CSS から絶対配置を削除し、AJAX 経由でページにリンクすると、必要に応じて div がフェードアウトします (アラートが表示されます)。divの絶対位置に問題が発生しているようです。
AJAX またはハード ロードを介して影響を受けるページにリンクする場合、fadeIn() は絶対配置で正しく機能します。問題を引き起こしているのはフェードアウトだけです。
助言がありますか?