溢出:隐藏 - > PHP DIV滚动?

时间:2011-12-03 01:11:34

标签: php jquery html scroll overflow

所以我有一个网站可以滚动浏览一个DIV窗格,该窗格包含在主DIV中。 JQuery / javascript:http://plugins.jquery.com/project/ScrollTo

E.g。

<div id="content" style:"overflow:hidden; width 800px;">
   <div id="home" class="page"></div>
   <div id="about" class="page"></div>
   <div id="support" class="page"></div>
</div>

它导航和滚动很好,但尝试为页面提供动态URL而不破坏滚动功能(例如mywebsite.com?p=home)会带来一些麻烦。

因此,根据GET请求返回的内容,我希望PHP脚本在页面加载时自动设置滚动位置;滚动条被隐藏,只能通过设置。的JavaScript。

最好的方法是什么?

3 个答案:

答案 0 :(得分:0)

这是我用来获取$ _GET变量的东西:

function getQueryParams(qs) {
    qs = qs.split("+").join(" ");
    var params = {},
        tokens,
        re = /[?&]?([^=]+)=([^&]*)/g;

    while (tokens = re.exec(qs)) {
        params[decodeURIComponent(tokens[1])]
            = decodeURIComponent(tokens[2]);
     }

    return params;
}

var $_GET = getQueryParams(document.location.search);

$(document).ready(function(){
    $('html,body').animate({
        scrollTop: $('#'+$_GET.p).offset().top},
        'slow');
});

答案 1 :(得分:0)

可能是这样的

<script>
    var goTo = '<?php echo (isset($_GET['p']) ? $_GET['p'] : "default_value"); ?>';
    (function($){
        $(document).ready(function(){
            functionThatScrolls(goTo);
        });
    }(jQuery));
<script>

我会这样做,只需将$ _GET ['p']的值打印到脚本中,只需确保打印一个默认值,并且可以清理某人可以在其中插入内容的值。

希望它有所帮助。

答案 2 :(得分:0)

我建议只使用普通的anchor标签吗?

你描述你的网站的方式似乎并不需要所有这些js魔法,以达到你正在寻找的效果......

<div>

  <a name="home">
    <div>
    </div>
  </a>

  <a name="pix">
    <div>
    </div>
  </a>

  <a name="about us">
    <div>
    </div>
  </a>

  <a name="contact">
    <div>
    </div>
  </a>

</div>

然后,指向http://www.mywebsite.com/#home的链接将执行您正在寻找的内容,此外,Google会将其编入索引为http://www.mywebsite.com/

部分

我认为如果您在锚标记名称之前添加!,Google会将每个标记作为单独的页面进行索引。

编辑:转到here,然后向下滚动到“分步指南”。