2016-01-05 53 views
1

我想以類似於StackOverflow的方式設置我的錨點標記,如果我在頁面A上並單擊鏈接到頁面B上的div,則div通過jQuery UI突出顯示,突出顯示功能。我很難弄清楚如何將錨鏈接傳遞到新頁面並突出顯示。這是頁面場景。加載頁面並使用jQuery UI高亮顯示錨點div

頁A

... 
<a href="/albums/1#track-1 

網頁B

<!-- /albums/1#track-1 --> 

<div class="tracklist"> 
    ... 
    <div id="track-1" class="track">Track 1</div> <!-- Highlights this div --> 
    <div id="track-2" class="track">Track 2</div> 
    <div id="track-3" class="track">Track 3</div> 
    ... 
</div> 

除了設置本身我有一些性能問題。理想情況下,我認爲你不得不循環遍歷的每個.track,每頁加載,無論這些特定的div是否在頁面上。什麼是最好的方法來做到這一點?

回答

1

你寫錯了你的html代碼中的id,刪除'#'符號。像下面這樣的東西將會成功。

$(document).ready(function() { 
    var url = window.location.href; // Returns full current url. 
    var hash = url.substring(url.indexOf("#") + 1); 

    $('#' + hash).effect('highlight', {color: '#00f'}, 2000); 
}); 

https://jsfiddle.net/jonathanzuniga/f6qohfb8/

+0

這樣做的問題是,URL需要是動態的。需要有一種方法來獲取url,而不用在腳本中硬編碼值。 –

+0

@CarlEdwards'window.location.href;'返回完整的當前網址。 –

+0

如果我關注你,你建議'url'的值是'window.location.href'? –