2016-12-30 144 views
0

所以,我有我的iframe内的按钮,这带来了使用的代码父页面上的一个div:弹出的IFRAME(多)在父页面DIV

<script type='text/javascript'>  
function showDiv() { 
    window.parent.document.getElementById('coreradio').style.display = "block";; 
} 
</script> 
<input type='button' class='radiobutton' value='Core' onclick="showDiv('#coreradio')"> 

和我父页面的DIV是:

<div id="coreradio" style="display:none"> 

这适用于父页面上的一个DIV完全正常的,但如果我再添加载则只打开第一个,例如:

里面的iframe:

<script type='text/javascript'>  
function showDiv() { 
    window.parent.document.getElementById('coreradio').style.display = "block";; 
} function showDiv() { 
    window.parent.document.getElementById('poppunkradio').style.display = "block";; 
} 
</script> 
<input type='button' class='radiobutton' value='Core' onclick="showDiv('#coreradio')"> 
<input type='button' class='rbutton' value='Core' onclick="showDiv('#poppunkradio')"> 

父窗口:

<div id="coreradio" style="display:none"> 
<div id="poppunkradio" style="display:none"> 

这导致只有一个负载不管你按哪个按钮,这里是一个空白页

http://beta.musiccase.net/forums/iframe/

在工作示例我可能会错过像错误的ID或某事那样简单的事情,但这让我难以接受现在,所以任何帮助都会很棒!

+1

您不能声明具有相同名称的多个函数。他们互相烘烤 –

+0

你应该使用这样的东西: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage – Krunal

+0

你如何给函数不同的名字? –

回答

0

你想这样的:

function showDiv(id) { 
    window.parent.document.getElementById(id).style.display = "block"; 
} 

使用这样的:

showDiv("coreradio"); 
showDiv("poppunkradio"); 

里面一个按钮:

<button onclick='javascript:showDiv("coreradio")'>Start Core Radio</button> 

关于函数:

函数是一组声明。要执行这些,您需要给他们打电话:

function a(){ 
    alert(" a");//statement in a function 
}//function declared 
a();//function called 
a();//function called again 
+0

它根本不起作用,如果我把一个id放在showdiv(id) –

+0

你在哪里“放”了id。你需要**调用**这个id的函数,就像我的例子 –

+0

我想你不明白什么是函数 –