1

以下のコードを使用して、jQuery を使用してアコーディオン メニューを表示しています。

現在、ページが読み込まれると、各アイテムは閉じられます (展開されません)。ページが読み込まれたときに、リストの最初の項目が既に展開されていることを望みます。jQueryを使用して何らかの方法で設定することは可能ですか?

残念ながら、HTML マークアップは動的に生成されているため、変更できません。

ここに私のHTMLがあります:

<ul id="menu-classes" class="menu">
<li>
    <h3><a>Item 1</a></h3>
    <div class="sub">
        <p>Some blah blah here.</p>
        <a href="#"><span class="readmorehomebox">read more ›&lt;/span></a>
    </div>
</li>
<li>
    <h3><a>Item 2</a></h3>
    <div class="sub">
        <p>Some blah blah here.</p>
        <a href="#"><span class="readmorehomebox">read more ›&lt;/span></a>
    </div>
</li>
<li>
    <h3><a>Item 3</a></h3>
    <div class="sub">
        <p>Some blah blah here.</p>
        <a href="#"><span class="readmorehomebox">read more ›&lt;/span></a>
    </div>
</li>
</ul>

これが私のjQueryです:

  $('#menu-classes h3').click(function(){
    if ($(this).attr('class') != 'active'){
      $('.sub').slideUp();
      $(this).next().slideToggle();
      $('#menu-classes h3').removeClass('active');
      $(this).addClass('active');
    }
  });

これが私のCSSです:

.sub {display: none;}
4

2 に答える 2

0

展開する要素に ID を指定し、ページの読み込み時にクリックをシミュレートします。

$(document).ready(function(){
     $("some selector").click();
});

また、ページがクリックreadyしようとしたときに要素が存在するように、関数内にある必要があります。

于 2012-12-02T23:21:35.190 に答える
-1

document.ready で、開きたいものをクリックするだけです:

$(document).ready(function () {
    $("selector for item you want open").click();
});
于 2012-12-02T23:21:55.567 に答える