2014-12-07 2 views
1

у меня есть 5 (дела) S все скрытые и я использую .click функцию, чтобы скрыть 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); 
}); 

, когда я нажимаю b2 Изменение URL в> домой # div2 я использовал location.hash и .trigger поэтому, когда пользователь вводит дома # div2 в URL-JQuery активен b1.click

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

logicly он должен скрыть Div1 и показать div2 но ничего не показывает, даже когда я нажимаю В1 или В2 вручную ..

, что я делаю не так?!

+0

показать нам код для того, что вы щелкаете – dandavis

+0

где находятся элементы с идентификаторами # b1 и # b2? ваши html-элементы имеют id # div1 и # div2 – Rooster

+1

на самом деле, покажите нам весь код, возможно, вы слишком рано связываете кнопки (что-то jQuery не предупреждает/не жалуется) – dandavis

ответ

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

+0

LOL и статусы if были выше функций .click – Zahema

Смежные вопросы