所以我有一个网站可以滚动浏览一个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。
最好的方法是什么?
答案 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,然后向下滚动到“分步指南”。