2013-07-12 18 views
2

我正在一個小項目,我有一個問題。 我正在工作的網站的結構是這樣的: 3 box layout with pager 網站的所有部分都在同一個文檔中,佈局上的藍色部分是菜單,數字更改位置(使用jQuery)的1 2 3 divs移動選中的部分在它的中心和其他人從佈局。匹配的佈局與網址的問題

$("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適當部分。 我嘗試了location.hash方法,但當我更改hashtag值滑動的jquery動畫錯誤地移動div(使用相同的代碼張貼在這裏有「var selectedText」作爲哈希值)...我正在尋找一個解決方案,我發現HTML5 pushState,但我真的不知道如何使用它在我的情況,因爲我沒有任何AJAX請求或任何東西。 感謝大家!

回答

0

獲取URI。

document.documentURI 

並獲得該部分。

var URI = document.documentURI; 
var section = URI.substring(URI.lastIndexOf('/') + 1).replace('.html', ''); 

這將從www.xy.com/foo.html

希望我理解你的問題正確返回foo

+0

不,我的問題是:什麼是最好的方式有網站的部分匹配的網址!無論如何,謝謝你的回答 – user2434217

0

我解決了這個使用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> 

CSS,使其工作:

#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; 
} 

感謝反正大家!