2015-08-14 17 views
0

我遇到了錨點和重新加載頁面的問題。使用散列碼重新載入頁面

當我們打開我的網頁,我們去一個錨忽略標題,直接在內容去(因爲動畫的內容開始,我希望用戶看到它)

停止動畫,一後按鈕出現重播相同的動畫。因此,我想重新加載頁面並轉到與我們打開頁面時相同的錨點,但是當我們點擊它們時,它們會轉到頁面的頂部。

我有一個網頁的按鈕刷新頁面(在我的情況下重新加載頁面重新啓動我的網頁上的動畫,因爲動畫當我們進入到頁面開始)

我的一些代碼(簡化代碼)

時打開的網頁我這樣做(和它的工作):

window.location.hash = '#container'; 

按鈕(動畫後出現):

的HTML:

<button class="bouton blanc bouton-laureats rejouer"><img src="assets/imgs/rejouer.png" />Rejouer</button> 

JQuery的:

$('.page-gagnants-animation .rejouer').on('click', function(){ 
    window.location.hash = '#container'; 
    window.location.reload(); 
}); 

當我點擊它,我去了頁面的頂部,但我想直接去#container的(內容)。我已經在這裏,但希望繼續留在#container。

回答

-1

按鈕(出現在動畫後):

是否出現,因爲它是動態添加?如果是這樣,你的jQuery觸發器稍微關閉。

$('.page-gagnants-animation .rejouer').on('click', function(){ 

應該

$('.page-gagnants-animation').on('click', " .rejouer", function(){ 

因爲.on不看新添加的元素,整個DOM,你必須告訴它在哪裏看。

另外,如果你真的無法獲得JavaScript執行你期望的方式,爲什麼不使用一個好老式的錨標籤?

<button class="bouton blanc bouton-laureats rejouer"> 
    <a href="#container"><img src="assets/imgs/rejouer.png" />Rejouer</a> 
</button> 

作爲一個額外的好處,你不必擔心任何瀏覽器的JavaScript支持,因爲幾乎所有的東西都會支持這一點。


編輯,我的原始答案(下)不正確。如果你願意,你可以包含#。

當您使用window.location.hash時,您不包括#。

window.location.hash = 'container'; 
window.location.reload(); 

應該工作。


+0

無論哪種方式工作得很好。 – Anonymous

+0

謝謝!我終於自己找到了答案。我認爲用相同的網址替換網址時沒有錨點,因爲我的代碼在頁面打開工作時添加錨點。 –

0

它爲我工作

<a href="pagelink#hashcontent" onclick="window.location.reload()">Reload</a>