2013-07-31 18 views
0

我的頁面上有3個彈出窗口。它們的功能使用jQuery和下面的JS代碼:使用基於JQuery和Hashtag的URL切換彈出菜單

$(document).ready(function() { 
    $('#open_thanks').click(function(e) { 
     e.preventDefault(); 
     var tPop = $('.thanks_popup'); 
     tPop.toggle(); 
    }); 
    $('#open_reference').click(function(e) { 
     e.preventDefault(); 
     var rPop = $('.leave_reference_popup'); 
     rPop.toggle(); 
    }); 
    $('#facebook').click(function(e) { 
     e.preventDefault(); 
     var fPop = $('.facebook_popup'); 
     fPop.toggle(); 
    }); 


    $('.thanks_popup').append('<div class="close"><div class="inner"><button></button></div></div>'); 
    $('.leave_reference_popup').append('<div class="close"><div class="inner-2"><button></button></div></div>'); 
    $('.facebook_popup').append('<div class="close"><div class="inner-3"><button></button></div></div>'); 

    $('div.inner button').click(function() { 
     var tPop = $('.thanks_popup'); 
     tPop.toggle(); 
    }); 
    $('div.inner-2 button').click(function() { 
     var rPop = $('.leave_reference_popup'); 
     rPop.toggle(); 
    }); 
    $('div.inner-3 button').click(function() { 
     var fPop = $('.facebook_popup'); 
     fPop.toggle(); 
    }); 

}); 

我的HTML是相當簡單:

<a href="#" id="open_thanks">Thanks Popup</a> 

<a href="#" id="open_reference">Open Reference</a> 

<a href="#" id="facebook">Open Facebook Popup</a> 

我無法弄清楚如何使用#標籤網址導航有一個彈出默認爲雖然開放?基本上,我希望能夠鏈接到index.html#open_thanks並將該彈出默認設置爲open/up。

謝謝。

回答

1

在頁面加載時,解析出URL中的所有哈希值,然後執行x。

How to get #hash value in a URL in JS

+0

對我不起作用。 JS的noob。我將以下內容添加到上面的JS代碼中: function getHashValue(key){ return location.hash.match(new RegExp(key +'=([^&] *)'))[1]; } // usage var hash = getHashValue('hash'); function do_check() if(hash == tPop) var tPop = $('。thanks_popup'); tPop.toggle(); } } – user1318135

+0

當你在這裏看JS的底部時,更具可讀性:http://jsfiddle.net/XHUCG/ – user1318135

+0

我編輯了你的小提琴,以便它可以工作。 http://jsfiddle.net/XHUCG/6/儘管在你的網頁上的代碼。我不認爲jsfiddle出於某種奇怪的原因可以檢測到window.location.hash。 – Jackson