Php 将布局与URL匹配时出现问题

Php 将布局与URL匹配时出现问题,php,javascript,jquery,html,pushstate,Php,Javascript,Jquery,Html,Pushstate,我正在做一个小项目,我有一个问题。 我正在开发的网站的结构如下: 网站的所有部分都在同一个文档中,在布局上,蓝色的上半部分是菜单,数字改变了123div的位置(使用jQuery),将所选部分移动到其中心,将其他部分移出布局 $("li").click(function() { var selectedText = $(this).text(); $(this).addClass("active"); $(this).siblings().removeClass("

我正在做一个小项目,我有一个问题。 我正在开发的网站的结构如下: 网站的所有部分都在同一个文档中,在布局上,蓝色的上半部分是菜单,数字改变了123div的位置(使用jQuery),将所选部分移动到其中心,将其他部分移出布局

    $("li").click(function() {
    var selectedText = $(this).text();
    $(this).addClass("active");
    $(this).siblings().removeClass("active");
    if (selectedText == "Upload") {
        $('#homePage').animate({
            left: 2000
        }, 1000);
        $('#upload').animate({
            left: 105
        }, 1000);
        $('#explore').animate({
            left: 2000
        }, 1000);

    }
    if (selectedText == "Gallery") {
        $('#homePage').animate({
            left: 0
        }, 1000);
        $('#upload').animate({
            left: -2000
        }, 1000);
        $('#explore').animate({
            left: 2000
        }, 1000);

    }
    if (selectedText == "Explore") {
        $('#homePage').animate({
            left: -2000
        }, 1000);
        $('#upload').animate({
            left: -4000
        }, 1000);
        $('#explore').animate({
            left: -2000
        }, 1000);

    }
});
我现在需要做的是适当地改变网站的url,因为我改变了部分,我想能够通过url到适当的部分。 我尝试了location.hash方法,但是当我更改hashtag值时,滑动的jquery动画错误地移动了divs(使用这里发布的相同代码,将“var selectedText”作为hash值)。。。我在寻找一个解决方案,我找到了HTML5 pushState,但我真的不知道如何在我的案例中使用它,因为我没有任何AJAX请求或任何东西。 谢谢大家

以获取URI

document.documentURI
并获得该部分

var URI = document.documentURI;
var section = URI.substring( URI.lastIndexOf('/') + 1 ).replace('.html', '');
这将从
www.xy.com/foo.html


希望我正确理解了您的问题。

我使用GET变量和以下代码解决了此问题:

    $class="gallery";
if (isset($_GET['p'])){
    $p = $_GET['p'];
    if($p == "explore"){
        $headerActive = $userIsLoggedIn ? 0 : 2;
        $class="explore";
    }
    if($p == "gallery"){
        $headerActive = $userIsLoggedIn ? 0 : 1;
        $class="gallery";
    }
    if($p == "upload"){
        $headerActive = $userIsLoggedIn ? 0 : 0;
        $class="upload";
    }
}
在索引上显示:

<div id="center" style="overflow-x: hidden">
            <div id="content" class="initial-<?= $class?>">
                <?php if($userIsLoggedIn): ?>
                    <? require('templates/submit_form.php') ?>  
                <?php else: ?>
                <div id="uploadform">
                <? require('signin_form.php') ?>
                </div>

                <?php endif; ?>


                <? require('templates/stickers.php'); ?>
                <? require('templates/explore.php'); ?>
            </div>
        </div>

谢谢大家

不,我的问题是:让url与网站的部分匹配的最佳方式是什么!无论如何,谢谢你的回答
#content.initial-gallery #upload {
    left: -2000px;
}

#content.initial-gallery #homePage {
    left: 0px;
}
#content.initial-gallery #explore {
    left: 2000px;
}

#content.initial-upload #upload {
    left: 105px;
}

#content.initial-upload #homePage {
    left: 2000px;
}
#content.initial-upload #explore {
    left: 4000px;
}
#content.initial-explore #upload {
    left: -4000px;
}

#content.initial-explore #homePage {
    left: -2000px;
}
#content.initial-explore #explore {
    left: -2000px;
}