一度に複数の要素を選択し、ウィンドウの読み込み時にそれらをフェードインしようとしています。明らかな
$('.home').delay(200).fadeIn(400);
動作しませんでしたし、どちらも動作しませんでした
$('.home').each(function(){
$(this).delay(200).fadeIn(400);
});
これを行うための最良の方法は何ですか?
一度に複数の要素を選択し、ウィンドウの読み込み時にそれらをフェードインしようとしています。明らかな
$('.home').delay(200).fadeIn(400);
動作しませんでしたし、どちらも動作しませんでした
$('.home').each(function(){
$(this).delay(200).fadeIn(400);
});
これを行うための最良の方法は何ですか?
フェードインする前に非表示にする必要があります。
document.load$(window).ready
の代わりに必要です。$(window).load
そして、それらを最初に非表示にする必要があります:http: //jsfiddle.net/f3XhW/
汚い解決策は、最初に要素を非表示にしてから、fadeInを使用することです。
$(window).load(function() {
$('.home').attr('style', 'display: none;');//to hide them
// First attempt
$('.home').delay(200).fadeIn(400);
// Second attempt
$('.home').each(function(){
$(this).delay(200).fadeIn(400);
});
});
これを試してください。.homeにdisplay:noneがあることを忘れないでください
$(window).ready(function() {
$('.home').delay(200).fadeIn(400);
});
window.load
jsFiddleでは、デフォルトであるため、必要ありません。
$('.home').fadeTo(0, 0).delay(1000).fadeTo(400, 1);
デモ: http: //jsfiddle.net/elclanrs/FaqBX/9/
これを試して:
setTimeout(function () {
$('.home').fadeIn(400);
}, 200);
このフィドルを試してください:
最初に要素を非表示にする必要があり(user1689607として)、それからフィドルをラップなし(ヘッド)に変更しました。これはすでにwindow.loadであったためです。
フェードインする前にそれらを非表示にし、window.loadの代わりにdocumentreadyを使用します。
$(function() {
// First attempt
$('.home').delay(200).fadeIn(400);
});
CSSで最初に非表示にします。
.home { display: none; }
遅延を使用する必要がある場合:
window.setTimeout(function() {
$('.home').fadeIn(400);
}, 200);
さもないと:
$('.home').fadeIn(400);
表示する前にCSSで非表示にします。すでに表示されている場合は、フェードインできません。
HTML:
<div class="home">
<h1>Home</h1>
</div>
<div class="home">
<p>This is the home.</p>
</div>
Javascript:
$(function() {
$('.home').fadeIn(400);
});
CSS:.home {display:none;}
</ p>