私のサイトの紹介アニメーションの一部として、ナビゲーションボタンを連続して表示しようとしています。次のようにアニメーションとしてクラス名で要素の配列を作成し、それらの要素をドキュメントの準備ができたら順番に表示します
行くべき:
- を主画像
#lines_home
ヘッダ#header
が - ナビゲーションボタン
.nav_button
フェードイン - フェードイン1つの順次速いものを示しています。
.nav_button
クラスには4つの要素があります。
.nav_button
がクリックされると、すべての要素が最初は非表示になり、.nav_sub
個のdivが表示されます。
DOM(NAVセクションのみ):
<div id="nav">
<div id="create" class="nav_button">
<span class="nav_text">CREATE</span>
</div>
<div id="create_sub" class="nav_sub">
<ul class="nav_sub_text">
<li id="architecture">Architectural Design</li>
<li id="web">Web Development</li>
<li id="lighter">Lighter Underground</li>
<li id="digital_art">Digital Art</li>
<li id="guitar">Guitar</li>
<li id="sculpture">Sculpture</li>
</ul>
</div>
<div id="capture" class="nav_button">
<span class="nav_text">CAPTURE</span>
</div>
<div id="capture_sub" class="nav_sub">
<ul class="nav_sub_text">
<li id="seattle">Seattle 2012</li>
<li id="burningman">Burning Man 2011</li>
<li id="sanfrancisco">San Francisco 2011</li>
</ul>
</div>
<div id="blog" class="nav_button">
<span class="nav_text">BLOG</span>
</div>
<div id="blog_sub" class="nav_sub" >
<ul class="nav_sub_text">
<li>SL8</li>
</ul>
</div>
<div id="about" class="nav_button">
<span class="nav_text">ABOUT</span>
</div>
<div id="about_sub" class="nav_sub" >
<ul class="nav_sub_text">
<li id="bio">Biography</li>
<li id="resume">Resumé</li>
</ul>
</div>
</div>
スクリプトは:
$(document).ready(function() {
var button = document.getElementsByClass('.nav_button');
var buttonArr = jQuery.makeArray(button);
$('#lines_home').fadeIn(500, function(){
$('#header').delay(100).fadeIn(500, function(){
$(buttonArr[0]).show('fast', function() {
$(buttonArr[1]).show('fast', function() {
$(buttonArr[2]).show('fast', function() {
$(buttonArr[3]).show('fast');
});
});
});
});
});
});
しかし、これは動作するように表示されません。誰にも何か提案はありますか?
各要素を個別にjQueryに変換するだけの理由は何ですか?代わりに、元の 'button'オブジェクトを使って作業してください。 –
jqueryを使用している場合、なぜjQueryセレクタを使用しないのですか? – Hogan
この回答を調べる:http://stackoverflow.com/a/6562525/145346 – Mottie