所以可以說我有一個url www.hello.com#一個設置基礎上,循環移位#of URL的變量 - window.location.hash
我知道我可以抓住具有價值
var hash = window.location.hash;
alert (hash);
而是然後寫(我知道下面是不propper代碼):
如果變種散列=一個然後設置變種散列值至1
別的
如果VAR哈希=兩人隨後設置VAR散列值至2
別人等等等等
有沒有更好的方式來寫這篇文章。
乾杯
所以可以說我有一個url www.hello.com#一個設置基礎上,循環移位#of URL的變量 - window.location.hash
我知道我可以抓住具有價值
var hash = window.location.hash;
alert (hash);
而是然後寫(我知道下面是不propper代碼):
如果變種散列=一個然後設置變種散列值至1
別的
如果VAR哈希=兩人隨後設置VAR散列值至2
別人等等等等
有沒有更好的方式來寫這篇文章。
乾杯
var map = {
one: 1,
two: 2
};
var hashValue = map[hash.substring(1)];
這將設置散列值來undefined
如果散列沒有出現在地圖存在。
您也可以使用switch
塊來做到這一點。
switch(location.hash.replace('#', '')){
case "one": newhash = 1;
break;
case "two": newhash = 2;
break;
};
alert (newhash);
感謝這個我也喜歡這個版本 – odd 2012-02-02 16:11:08
其實哈希返回的哈希值,包括#號
所以哈希=「#一個」不「一」。除此之外,您可以使用開關盒 開關(散列) case'#one': hashVar = 1; case'#two' hashVar = 2; }
,如果你願意改變哈希風格說#TAB1#物品1或者乾脆#代替#one什麼1,U反芻獲得數很容易地
var hash = window.location.hash;//hash=#tab1 say
var number=hash.replace('#tab',"");
alert(number);
就是這樣。這樣,這個數字可以像你想要的那樣大。在第一種情況下,你必須手動分配變量每個號碼
因此,如果有100個項目,你就會有一個很長的名單
謝謝,我知道我只會有約4但生病也保留這一個 – odd 2012-02-02 16:20:07
注意'location.hash'將包含''#以及。 – 2012-02-02 15:57:05
對不起,不能確定你的意思我累了:var hash = window.location.hash; var map = { one:1, two:2 }; var hashValue = map [hash]; alert(hashValue); – odd 2012-02-02 15:58:22
@FelixKling好的。更新,謝謝! – Dogbert 2012-02-02 15:58:40