2016-09-15 60 views
0

嗨即时通讯编写一个函数,我可以重用显示/隐藏模态,并在我的网站 ,但它似乎并没有工作。当我在函数外部使用相同的代码,并使用直接的id和类名称而不是变量时,它工作正常,只有当它传递它们时,它看起来不工作?模态函数不显示模态

<input id="lrBtn" type="button" value="Login/Register" onclick="ShowModal('PopUpLR','closeLR');" /> 




function ShowModal(var popup,var closeBtn){ 
     var modal = document.getElementById(popup); 
     var span = document.getElementsByClassName(closeBtn)[0]; 
     modal.style.display = "block"; 
     span.onclick = function() { 
      modal.style.display = "none"; 
     } 
     window.onclick = function(event) { 
      if (event.target == modal) { 
       modal.style.display = "none"; 
      } 
     } 
    } 
+0

有你Bootstrap + JQuery加载了吗? – FluxCoder

+0

另外,您可以尝试移动按钮上方的代码? – FluxCoder

+0

尝试上面的按钮仍然没有:(我有jquery加载,但不是引导,因为我不使用它atm我应该吗? – GregHBushnell

回答

1

定义您的ShowModal功能的方式是错误的,您需要把它写这样

function ShowModal(popup,closeBtn){ 
// your code 
} 

,而不是

function ShowModal(var popup,var closeBtn) 
{ 
// your code 
} 

全码:

function ShowModal(popup,closeBtn){ 
     var modal = document.getElementById(popup); 
     var span = document.getElementsByClassName(closeBtn)[0]; 
     modal.style.display = "block"; 
     span.onclick = function() { 
      modal.style.display = "none"; 
     } 
     window.onclick = function(event) { 
      if (event.target == modal) { 
       modal.style.display = "none"; 
      } 
     } 
    }