3

ここに私の問題をアップロードしました:私の問題の例

私の質問: ページがロードされた後 (または更新後) の順序を変更せずに、「コンテンツ B の定義」が最初に表示される可能性はありますか?

<a> href="..." C </a>
<a> href="..." B </a>
<a> href="..." A </a>

CBA注文したいです。BCA や BAC ではありません。JavaScript の知識は基本的なものですが、急速に増えています。

私の英語でごめんなさい、

提案をありがとう!私は数日間この問題に苦しんでいます。

HTML コード:

    <html>
   <head>
      <meta content="charset=utf-8" />
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
      <script defer src="js/swap.js"></script> 
   </head>
   <body>
      <div>
         <div id="view-c" class="swap-cont">
            <h1>content C xyz</h1>
         </div>
         <div id="view-a" class="swap-cont">
            <h1>content A abc</h1>
         </div>
         <div id="view-b" class="swap-cont">
            <h1>content B def</h1>
         </div>
         <div class="toggle">
            <a href="#view-c">C</a>
            <a href="#view-b">B</a>
            <a href="#view-a">A</a>
         </div>
      </div>
   </body>
</html>

swap.js:

    $(function() {
    var toggles = $('.toggle a'),
        codes = $('.swap-cont');

    toggles.on("click", function(event) {
        event.preventDefault();
        var $this = $(this);

        if (!$this.hasClass("active")) {
            toggles.removeClass("active");
            $this.addClass("active");
            codes.hide().filter(this.hash).show();
        }
    });
    toggles.first().click();
});​
4

1 に答える 1

2

必要なのは、スクリプトの最後の行を次のように変更することだけです。

toggles.first().click();

に:

toggles.eq(1).click();

この行は、デフォルトのアンカーのクリックをトリガーしてビューを初期化します。

C である最初のアンカーをクリック.eq()していました。B は実際には 2 番目であるため、セットから要素を選択するメソッドを使用する必要があり、ここn-thに文書化されています。

別の(よりクリーンな)アプローチは、defaultAnchorクラスをデフォルトのアンカーに追加し、スクリプトを次のように変更することです。

 $('.defaultAnchor').click();
于 2012-10-08T15:38:46.083 に答える