1

我有一个单页网站和上面的链接,例如<a href="#block1">link1</a>. 浏览器地址栏显示site.com/#block1

我希望浏览器给出类似site.com/block1的行,然后单击链接site.com/block1浏览器将打开滚动页面到所需的块。

这个 jsfiddle 很简单,但它不起作用 http://jsfiddle.net/26LRA/2/

应该没有魔法,没有 php、cms、sql 和不同的插件。只有纯 javascript/jquery

补充:我想给你这个网站http://www.ascensionlatorre.com,但我看不懂他们的代码

4

2 回答 2

1

你的意思是你只想明显地改变网址:

$("#name0 a").click(function(e) {
    e.preventDefault();
    var id = $(this).attr('href').substring(1);
    $('html,body').animate({scrollTop: $('#'+id).offset().top}, 'fast');
    window.history.pushState("", "", '/' + id);
});

例子

要使您需要的链接实际工作mod_rewrite,请创建一个.htaccess并添加:

RewriteRule ^portfolio$ /index.php/#$1 [QSA,NE]

阅读网址

var path = document.location.pathname;
path = path.substring(path.lastIndexOf('/'), 1);
if(path){
    $('html,body').animate({scrollTop: $('#'+path).offset().top}, 'fast');
}
于 2012-09-13T09:26:12.393 回答
-1

我认为正确的方法是在你的 .htaccess 中使用 mod_rewrite。

于 2012-09-13T09:21:56.490 回答