如何使用固定导航栏重定向到页面并向下滚动到DIV

时间:2013-06-12 19:16:44

标签: php html css url

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

  

locations.php?ID = 1个#resultsbox_10

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

2 个答案:

答案 0 :(得分:0)

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

.resultsbox {
    margin-top: -100px;
    padding-top: 100px;
}

答案 1 :(得分: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。