2012-05-19 71 views
0

我遇到問題我正在與之對抗,我開始看到我的日誌已開始顯示用戶未登錄客棧,因此我開始檢查並注意到新的登錄框架不會顯示在任何其他瀏覽器比歌劇。JavaScript在其他瀏覽器中未觸發歌劇

我知道,div可以是可見的,如果我刪除顯示:沒有框顯示,因爲它應該在所有的瀏覽器,所以我的賭注是JavaScript沒有射擊。

如果它的任何使用框我試圖顯示的是一個div框架如下所示,但它鋪設在頁面的頂部。

<script type="text/javascript"> 
    function ShowHideRegLog() { 
     var box = document.getElementById('LoginReg'); 
     if (box.style.display === 'none') { 
      box.style = 'display:block; position:absolute; top:50%; left:50%; margin:-150px 0 0 -120px; z-index:99;'; 
     } 
     else if (box.style.display === 'block') { 
      box.style = 'display:none;'; 
     } 
    } 
</script> 

<div class="RegFullFrame" id="LoginReg" style="display:none;"> 
    <div style="color:#defdef; font-size:22px; z-index:99; margin: 0 0 5px 5px; font-weight:bold;"> 
     Login: 
    </div> 
    <div class="RegTextFrame"> 
     <asp:TextBox CssClass="RegTextBox RegTopTexBox" ID="Usertxt" runat="server"> 
     </asp:TextBox> 
     <asp:TextBox CssClass="RegTextBox RegBottomTexBox" style="color:#989898;" ID="Pwdtxt" onfocus="this.value=''; this.type='password'; this.style.color='#000';" runat="server"> 
      Password 
     </asp:TextBox> 
    </div> 
    <asp:Button CssClass="RegButton" ID="RegButton" runat="server" Text="Login" 
      onclick="Login_Click" OnClientClick="ShowHideRegLog();" /> 
</div> 
<input id="RegButton" style=" background:none; border:none; font-weight:bold; padding-top:6px; color:red;" runat="server" 
     type="button" value="Login" onclick="ShowHideRegLog()" /> 
+1

嘗試使用==,而不是=== –

+0

沒有變化,但爲什麼這對子級改變任何東西在JS一樣不=== = =以任何常規語言? –

+0

@AliTarhini - 爲什麼不用'==='而不是'=='?在大多數情況下推薦'===''。 –

回答

1

將jquery包含在<head>中並使用以下腳本。

function ShowHideRegLog() { 
     var box = document.getElementById('LoginReg'); 
     if (box.style.display == 'none') { 
      $("#LoginReg").show(); 
     } 
     else if (box.style.display == 'block') { 
      $("#LoginReg").hide(); 
     } 
    } 

* 沒有jQuery的:*

function ShowHideRegLog() { 
     var box = document.getElementById('LoginReg'); 
     if (box.style.display === 'none') { 
      box.style.display = 'block'; 
      box.style.position = 'absolute'; 
      box.style.top = '50%'; 
      box.style.margin = '-150ps 0 0 -120px'; 
      box.style.zIndex = '99'; 
     } 
     else if (box.style.display === 'block') { 
      box.style.display = 'none'; 
     } 
    } 
+0

我不想要一個jQuery的方式,但一個js一個 –

+0

看看。我編輯了代碼。沒有jquery選項添加。 –

+0

woa掛在那裏爲什麼會這樣工作?不要誤解我的意思。它工作,但爲什麼?只有改變你需要做的是px,而不是保證金中的ps,box.style.left = '50%'; –

相關問題