2012-11-19 118 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>