2014-02-27 105 views
1

我正在使用切換容器來展開大頁面的部分。在這些部分中,內容不僅鏈接到其他頁面,還鏈接到頁面其他部分的鏈接。我試圖使用錨鏈接,頁面移動到一般區域,但不會擴展切換。jquery toggle_container使用頁面內的錨鏈接來展開切換

<script> 
$(document).ready(function() { 
    //Hide (Collapse) the toggle containers on load 
    $(".toggle_container").hide(); 

    //Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state) 
    $("h3.trigger").click(function() { 
    $(this).toggleClass("active").next().slideToggle("slow"); 
    return true; //Prevent the browser jump to the link anchor 
    }); 
    $("a[href='" + window.location.hash + "']").parent(".trigger").click(); 
    }); 
    if (window.location.hash) { 
    $('h3.trigger + .toggle_container').hide(); // Hide all... 
    $('h3.trigger').has("a[href='" + window.location.hash + "']").next('.toggle_container').show(); // ... but show one 
    } 
</script> 

<h3 class="trigger"><a name="1.8" href="#1.8">1.8 &nbsp;&nbsp; blah ablshdasd</a></h3> 
<div class="toggle_container" > 
    <p class="column1">1.8 &nbsp;&nbsp; djhsa;ksjag;fjgancvjwer design requirements.</p> 
    <ol class="alpha-small"> 
     <li>more text</li> 
    </ol> 
    <br /><br /> 
<h3 class="trigger"><a href="#1.9">1.9 &nbsp;&nbsp; Blah Blah</a></h3> 
<div class="toggle_container"> 
    <p class="column1">text goes here...... <a href="#1.8">1.8.</a></p>    
    <br /><br /> 
</div> 
+0

你認爲你可以讓我們成爲一個jsfiddle嗎? – user3334690

+0

http://jsfiddle.net/7ztsG/7/ – danelle

回答

0

我用的jsfiddle不知道window.location.hash作品...

我懷疑,如果你要改變這一行

$("a[href='" + window.location.hash + "']").parent(".trigger").click(); 

使用名稱=代替HREF =它可能會做你所期待的。

或者,你可以拖放到window.location.hash的依賴,並做一些沿着這條(fiddle

$(document).ready(function() { 
    //Hide (Collapse) the toggle containers on load 
    $(".toggle_container").hide(); 

    //Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state) 
    $("h3.trigger").click(function() { 
     $(this).toggleClass("active").next().slideToggle("slow"); 
     return true; //Prevent the browser jump to the link anchor 
    }); 
    $("a.open").click(function() { 
     hrefval = $(this).attr("href").match(/(\d+\.\d+)/)[1] 
     $("a[name='" + hrefval + "']").parent(".trigger").click() //open the new one 
    }) 
}); 

注意的線條更是,它使用了類「開放」知道什麼錨標籤綁定以在頁面的各個部分內跳轉。

+0

謝謝!!!這個作品完美! – danelle

+0

這適用於打開頁面內的項目。但進入頁面的外部鏈接不會打開http://jsfiddle.net/allanblock/LweYZ/1/#&togetherjs=q7arG5ihUj – danelle