php - 使用 php 动态创建的页面滚动到 anchor 标记

标签 php anchor

我有一个页面,其中从表中读取条目,然后 php 生成显示每一行的 div - div 的名称和 ID 设置为基于记录 # 的唯一字符串。例如:

当页面加载时,它被传递给要滚动到的记录的唯一 anchor 字符串,格式如下: href='showpost.php#g50'

当页面加载时,它会正确显示带有 anchor 的 url,但不会滚动。

但是,如果我将光标放在浏览器的地址栏上并按 <Enter>页面正确滚动到记录。奇怪的是,<F5><Ctrl-R>将不起作用(Firefox 16)。

我猜测动态创建的页面与此有关。有什么想法吗?

最佳答案

您始终可以只使用简单的 javascript 调用来滚动到 anchor 。您可以从页面的任何位置调用 Javascript 代码,因此为了安全起见,您可以在 PHP 生成所有 anchor 后将其放在页面末尾。

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

或者,如果您已经通过 php 知道页面的 anchor 是什么,您可以更轻松地做到这一点。

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

关于php - 使用 php 动态创建的页面滚动到 anchor 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13450385/

相关文章:

php - 如何使用 codeigniter 3.0.1 进行分页

php - mpdf 通过 https 损坏图像

php - 正则表达式忽略重音? PHP

php - 如何在表中实现约束,以便插入的值不会仅对行组重复

rust - anchor :Solana 账户初始化问题

javascript - 有 anchor 链接时窗口向下滚动

javascript - 在 anchor 中动态设置类不起作用?

php - Cgridview 'filter' 属性出错,错误代码::没有方法 'querystring'

jquery - 在 WordPress 中向 anchor 添加属性

css - 覆盖链接的 theroller 样式