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

溢出:隐藏->;PHP DIV滚动条?,php,jquery,html,scroll,overflow,Php,Jquery,Html,Scroll,Overflow,因此,我有一个网站,通过滚动浏览包装在主DIV via中的DIV窗格来导航。JQuery/javascript: 例如 它可以很好地导航和滚动,但是试图在不破坏滚动功能的情况下为页面提供动态URL(例如mywebsite.com?p=home)会带来一些麻烦 因此,根据GET请求返回的内容,我希望PHP脚本在页面加载时自动设置滚动位置;因为滚动条是隐藏的,只能通过设置。javascript 最好的方法是什么?下面是我用来获取$\u get vars的方法: function getQuery

因此,我有一个网站,通过滚动浏览包装在主DIV via中的DIV窗格来导航。JQuery/javascript:

例如


它可以很好地导航和滚动,但是试图在不破坏滚动功能的情况下为页面提供动态URL(例如mywebsite.com?p=home)会带来一些麻烦

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


最好的方法是什么?

下面是我用来获取$\u get vars的方法:

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');
});

可能是这样的

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

var goTo='';
(函数($){
$(文档).ready(函数(){
滚动的功能(转到);
});
}(jQuery));
我会这样做,只需将$_GET['p']的值打印到脚本中,只需确保打印默认值,也许可以清理p的值,有人可以在其中插入一些内容


希望有帮助

我可以建议只使用普通的旧标签吗

你描述你的网站的方式似乎不需要所有这些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>

你会去做你想做的事情,加上谷歌会把它作为一个分类索引

我想如果你放一个
在你的锚定标签名称之前,谷歌实际上会将每个标签作为一个单独的页面进行索引


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

从URL读取GET参数并在加载时滚动?或者我误解了这个问题?是的。所以我的网站运行javascript,看起来很不错,但对于搜索爬虫和内容的特定URL(例如,对于社交网络;+1,Like和Share按钮)来说并不好。我试图在不删除javascript特性的情况下添加该功能。没错,相同内容的不同链接不是明智的决定。然后使用锚,用javascript阅读它们,滚动到请求的div。如果这不是你想要的,那么我真的不理解你-(我不确定这是否对我有帮助?取决于获取数据,它会将#content div滚动到相关的子div。因此p=home将显示id=“home”,p=about将显示id=“about”等。是的,因此您可以使用上述函数获取“p”param,然后滚动到此。我已经更新了我的代码以向您展示。这是我考虑过的,但我认为它对搜索引擎没有用处(我想这是他们看到的第一件事),因为它必须翻过一些div才能到达目的地。这似乎是我需要的!javascript提供了从一个页面到另一个页面的滑动转换,并动态更改链接颜色和标题图像背景位置(也有滑动转换)现在我有一个GET data的switch语句,用于设置链接的样式数据和标题的背景位置;我意识到它们可以通过CSS进行设置,而滚动位置是无法设置的。PHP有没有办法抓取锚定数据?看起来没有,但可以通过Javascript处理,它可以为我提供所需的结果或回到PHP。
<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>