2012-11-19 149 views
2

我有一個頁面,從表中讀取條目,然後PHP生成每個行顯示的div - div的名稱& id被設置爲基於記錄的唯一字符串#。例如: 使用PHP動態創建頁面滾動到錨標籤

當加載頁面時,它是通過記錄的獨特的錨繩滾動到格式: HREF =「#showpost.php G50」

頁面加載它正確顯示帶有錨點的網址,但不滾動。

但是,如果我將光標放在瀏覽器的地址欄上並按<Enter>,頁面會正確滾動到記錄。奇怪的是,<F5><Ctrl-R>不起作用(Firefox 16)。

我猜測,動態創建的頁面與它有關。任何想法可能會發生什麼?

+0

你可以發佈你的代碼嗎? –

+0

它相當涉及。我將致力於創建獨立的php代碼,以查看是否可以複製它。 – mseifert

+1

那太棒了。在沒有看到任何關於你的問題的具體信息的情況下提供幫助是相當困難的 - 現在唯一能夠幫助你的人是那些遇到了完全相同問題的人。 –

回答

0

您可以隨時使用簡單的JavaScript調用來滾動到錨點。您可以從頁面的任何位置調用Javascript代碼,爲了安全起見,您可以在PHP生成所有錨點後將其放在頁面的末尾。

<?php 
    // php generation code here 
?> 
<script type="text/javascript"> 
    var hashSplit = location.href.split('#'); 
    var curHash= hashSplit[1]; 
    window.location.hash = curHash; 
</script> 

或者,如果您已經知道頁面的錨點將通過PHP進行操作,則可以更輕鬆地完成操作。

<?php 
    $anchor = "home"; 
?> 
<script type="text/javascript"> 
    window.location.hash = "<?= $anchor; ?>"; 
</script>