2013-11-21 44 views
0

我知道這樣做有更高效的方法,但我有理由這樣做。我有一個模式彈出窗口。我希望這個窗口在訪問者加載頁面時立即彈出。截至目前,該窗口已通過點擊一個鏈接到達index.php#login_form。如何在加載頁面時將加載標籤加載到URL

「#login_form」就是我想在頁面加載時添加URL。然後,他們可以選擇在最初加載彈出框後退出它。

現在有辦法更有效地做到這一點,而不必改變我的CSS或代碼非常多?

謝謝!

+0

'模態彈窗'聽起來像引導。你在使用Bootstrap彈出窗口還是創建了一個自定義彈出窗口? – Gaurav

+0

我在這裏使用這一個http://www.script-tutorials.com/css3-modal-popups/ – user2833068

+0

我只是不知道如何讓頁面加載時觸發「#login_form」。甚至嘗試了一個php頭文件位置: – user2833068

回答

0

一個簡單的方法就是直接用#標籤login_form加載頁面:

http://www.script-tutorials.com/demos/222/index.html#login_form 

或者,如果你想更「精準」,你可以使用jQuery這樣的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<body> 

<!--Place this at the end of the body tag.--> 
<script> 
$(function(){ 
    window.location.hash = "login_form"; //this will add with js the #login_form hash at the end of th url 
}) 
</script> 


你可以使用jquery在窗口加載時顯示模態: 試試這個代碼,你會明白:

$(function(){ 
    alert("Done loading"); 
}) 

你會添加代碼來顯示模式,而不是警報功能。如果顯示或隱藏與CSS的模式,您可以輕鬆地添加一個CSS類的元素與:

$(".element").addClass("showModal); 

或刪除類:

$(".element").removeClass("hideModal"); 

一定要擁有jQuery庫進口。我希望這回答了你的問題。

+0

對不起,jquery不太熟悉,不會執行或編寫您的建議。儘管我可以很快找到它。我會如何寫出來? – user2833068

+0

我正在看教程現在...等一下 –

+0

是啊,不用擔心,謝謝。 – user2833068

2

可以通過javascript中的window.location.hash訪問url中的散列。你可以在body onload事件中判斷這個。

+0

你打我吧:D –

+0

這比我的更好,更簡單。 – Gaurav

+0

謝謝你的努力。 =) – user2833068

1

要回答你的問題,我已經創建了一個小提琴,這需要你的例子,並解決你在找什麼。 http://jsfiddle.net/sgaurav/xA4vG/

基本上就是這個代碼是幹什麼的,選擇的點擊您要模擬的ID,然後創建點擊鼠標事件按照這裏給出How do I simulate user clicking a link in JQuery?

$.fn.simulateClick = function() { 
    return this.each(function() { 
     if('createEvent' in document) { 
      var doc = this.ownerDocument, 
       evt = doc.createEvent('MouseEvents'); 
      evt.initMouseEvent('click', true, true, doc.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null); 
      this.dispatchEvent(evt); 
     } else { 
      this.click(); // IE 
     } 
    }); 
} 

現在回答這個代碼是用來onload事件身體,你是做手工鏈接假一點擊到現在使用

jQuery(document).load(
    jQuery('#join_pop').simulateClick() 
); 

這反過來負載儘快頁面打開彈出窗口。如果需要,您可以將最後一個代碼中的id更改爲登錄表單,並且這會在頁面加載時開始顯示,而不是註冊。

+0

您的方法是否影響基本URL? – user2833068

+0

是的,它的確如此。當點擊被僞造時,它會完成手動點擊應該做的所有事情,包括在頂部追加#join_form。 – Gaurav

相關問題