2011-03-12 56 views
0

我有一個場景,我希望按鈕顏色根據頁面進行更改。我有一個默認顏色和一系列其他顏色的動畫工作。jquery if語句依賴於當前的url

我想要做的事情是當我在'紅色'頁面上將默認(這是'藍色')更改爲'紅色'。

我知道我可以做到這一點與if語句,但我想比較它的網址。我不知道如何獲得網址,然後將其存儲。我知道我可以比較網址的確切網頁,但我也希望它能與該主網頁的同級頁面一起工作。

我只是不知道如何獲得與jQuery的URL,測試它,並測試已知的網址的兄弟姐妹。

EXAMPLE: 
    foobar.com <- 'blue' 
    foobar.com/red/ <- 'red' 
    foobar.com/red/car <- still 'red' 
    foober.com/green/ <- 'green' 



var urlRed = "foobar.com/red/" 
var urlGreen ="foobar.com/green/" 
var urlInput = ?? 

if(urlInput == urlRed){ 
    ...set default to red... 
} else if(urlInput == urlGreen){ 
     ...set default to green... 
} else { 
    ...set default to blue... 
} 

回答

2
var url = window.location.pathname.split("/")[1]; 

switch(url){ 
    case "red": // set default to red 
    break; 

    case "green": //set default to green; 
    break; 

    default: // set to blue (default) 
} 
+0

此測試是否將兄弟網頁設爲/ red /?像/紅/車/? – 2011-03-12 00:34:30

+0

更新了它,現在它應該! – amosrivera 2011-03-12 00:35:50

+0

是的..只是測試它,它的工作原理。 – amosrivera 2011-03-12 00:38:51

0

可以使用

$(document).ready(function() { 
var pathname = window.location.pathname; 
}); 

$(location).attr('href'); 
2
$(function(){ 
    var red = "red"; 
    var green = "green"; 
    var url = window.location.href.toLowerCase(); 

    if(url.indexOf(red) >= 0){ 
     ...set default to red... 
    } else if(url.indexOf(green) >= 0){ 
      ...set default to green... 
    } else { 
     ...set default to blue... 
    } 
} 
+0

這是否意味着這個詞紅色的任何實例將觸發顏色的變化讓jQuery中的URL ? – 2011-03-12 00:33:53

+0

正如發佈,是的,但它可以定製。即使需要,也可以使用regEx。例如,不是使用var red =「red」,我們可以使用var red =「.com/red」。 – 2011-03-12 00:36:23