2014-12-07 19 views
1

我有5(DIV)■所有隱藏和我使用。點擊功能來隱藏其中的4個,並顯示1 ..(1爲每個按鈕) 例如: 的HTML:如何使用(location.hash)和(.trigger)導航?

<div id="div1">hi<div> 
<div id="div2">hello<div> 

jquery的:

$("#b1").click(function(){ 
    $("#div1").hide(500); 
    $("#div2").show(500); 
}); 
$("#b2").click(function(){ 
    $("#div2").hide(500); 
    $("#div1").show(500); 
}); 

當我點擊 我用的location.hash和B2的URL更改爲>家#DIV2 .trigger 所以當用戶在URL輸入家#DIV2 jQuery的活躍b1.click

if(location.hash == "#div2"){ 
    $("#b1").trigger("click"); 
} 

logicly應該隱藏DIV1和顯示DIV2 但它說明不了什麼,甚至當我點擊B1或B2手動..

什麼,我做錯了什麼?!

+0

向我們展示你點擊 – dandavis 2014-12-07 00:38:14

+0

在哪裏什麼碼ID爲#b1和#b2的元素?你的HTML元素實際上有id#div1和#div2 – Rooster 2014-12-07 00:38:22

+1

,向我們展示整個代碼,你可能過早地綁定了按鈕(jQuery沒有警告/抱怨) – dandavis 2014-12-07 00:39:30

回答

2

它看起來像你的問題是由你的div標籤沒有被正確終止引起的。我把它們改爲:(注意:在標籤終止斜槓)

<div id="div1">hi</div> 
    <div id="div2">hello</div> 

這個完整的例子對我的作品在Chrome:

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" language="Javascript" 
     src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"> 
</script> 
<script> 
$(document).ready(function(){ 

    $("#b1").click(function(){ 
     $("#div1").hide(500); 
     $("#div2").show(500); 
    }); 

    $("#b2").click(function(){ 
     $("#div2").hide(500); 
     $("#div1").show(500); 
    }); 

    if(window.location.hash == "#div2"){ 
     $("#b1").trigger("click"); 
    } 
    else if(window.location.hash == "#div1"){ 
     $("#b2").trigger("click"); 
    } 

    alert(window.location.hash);  
}); 
</script> 
</head> 
<body> 
    <input type="button" id="b1" value="b1"></input> 
    <input type="button" id="b2" value="b2"></input> 
    <div id="div1">hi</div> 
    <div id="div2">hello</div> 
</body> 
</html> 
+0

這是我的問題「window.location.hash」我的地址是「location.hash」 – Zahema 2014-12-15 18:20:03

+0

LOL和if語句都在.click函數之上 – Zahema 2014-12-16 21:05:44