2016-08-09 13 views
0

このトピックに出てくる投稿を読んだが、私がjQueryを初めて使ったときにいくつかのガイドラインを探している。私はwww.address.com/page.php#のようなものを使用してHTMLを開きたい、私は外部リンクに基づいてアコーディオンが開いているページをロードする

<p><a href="#" title="Content continued..." class="readMore accordion" id="hidden-content-reveal" name="hidden-content-reveal">Endangered Species Act Basics &raquo;</a></p> 
    <div id="hidden-content"> 
    <p><a href="#top">&laquo; Back to the top</a></p> 

     BLAH BLAH BLAH 
    </div> 

を開きたい

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#hidden-content2').hide(); 
    $('#hidden-content-reveal2').click(function() { 
    $('#hidden-content2').slideToggle(400); 
    return false; 
    }); 
    // current location has anchor 
    if(location.hash) { 
    // find accordion href ending with that anchor 
    // and trigger a click 
    $(".hidden-content-reveal2[href$='"+location.hash+"']").trigger('click'); 
    } ; 
    }); 
    </script> 

HTMLを読み込むに基づいて

<!--ORIGINAL CODE--> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     $('#hidden-content').hide(); 
     $('#hidden-content-reveal').click(function() { 
     $('#hidden-content').slideToggle(400); 
       return false; 
       }); 
       }); 
     </script> 

私のコード隠された内容を明らかにする。アコーディオンセクションに移動し、リンクをハイライト表示しますが、コンテンツは展開しません。私はこれが何かシンプルでなければならないことを知っています。それはイベントと同じであるため、クリックイベントハンドラに戻り偽を削除し、また

if (location.hash != '') { 
$(".hidden-content-reveal2[href='"+location.hash+"']").trigger('click'); 
} 

OR

if (location.hash != '') { 
$(".hidden-content-reveal2[href='"+location.hash+"']").click(); 
} 

答えて

0

は、イベントハンドラが適切にこれを試してバインドされていることを条件とします。 preventDefault()。つまり、href属性で指定された要素IDは、URLにハッシュとして追加されません。

関連する問題