0

我将用户从一个页面重定向到我网站上的另一个页面。我使用以下 URL 格式重定向:

位置.php?id=1#resultsbox_10

以上将把用户带到 DIV 'resultsbox_10'。我最近对我的导航栏进行了更改,以便在您向下滚动时它会停留在网页的顶部 100 像素。我使用了 JQuery Waypoints 插件。由于导航栏现在覆盖了我页面的前 100 像素,因此用户被重定向到的部分 DIV 已被阻止。有没有办法让我通过向 URL 添加一些内容来将用户带到 DIV 'resultsbox_10' 加上顶部 100 像素?

4

2 回答 2

0

您可以尝试添加相互抵消的边距+填充:

.resultsbox {
    margin-top: -100px;
    padding-top: 100px;
}
于 2013-06-12T20:35:08.847 回答
0

今晚喝了一整杯佳得乐后,我想出了一个 JavaScript 答案来解决这个难题。我没有通过 URL 传递 DIV id,而是传递了一个 GET 变量。

locations.php?id=1&link_review_id=66 

在我的目标页面(“locations.php”)上,我获取了 GET 值。

$link_review_id = $_GET["link_review_id"];

然后在 JavaScript 中使用它。

$(document).ready(function(){
        var link_review_id = "<?php echo $link_review_id; ?>";
        if(link_review_id != "" && link_review_id != null){
            var scroll_object = $("#resultsbox_" + link_review_id).offset();
            var scroll_height = scroll_object.top - 100;
            window.scrollBy(0, scroll_height);
        }
});

在没有设置 GET 值的正常页面加载中,自动向下滚动将被忽略。如果设置了 GET 值,我将滚动到有问题的 DIV 的长度,然后将其移出 100px。

于 2013-08-14T06:47:33.433 回答