2014-01-26 116 views
0

我有一个iframe在我的网页上。在主播上点击iframe打开pdf文件。我通过点击关闭/显示提供了按钮:无iframe。我想要iframe在锚点被点击时再次显示。锚点的点击应该显示iframe并在该iframe中打开pdf。请帮助我如何做到这一点。触发多个事件与单个onClick

我曾尝试以下:

function CloseWindow() { 
var ifr = document.getElementById("ifrlyric") 
ifr.style.display='none' } 

function OpenWindow() { 
var ifro = document.getElememtById("ifrlyric") 
if (ifro.style.display=='none') { ifro.style.display='block' } } 

<a href="#" onClick=" window.lyrics.location='mypage.pdf'; ifrlyric.style.display=block; return false;">Mypage</a> 

锚被打开PDF在iframe第一次点击按钮隐藏它。但是,当再次点击锚点时,iframe未显示。

+0

不内嵌JS。顺便说一句,你为什么把这个标签标记为jQuery? – Alexander

回答

-2

既然你标记的jQuery,我会说只是使用jQuery的切换功能:

<a href="#" onClick="setLocation();">Mypage</a> 

<script> 
    function setLocation() { 
     window.lyrics.location='mypage.pdf'; 
     $('#ifrlyric').toggle(); 
</script> 

你没有张贴足够的代码让我知道这是完全正确的,但它至少应八九不离十。

+0

请修复您的语法错误 – Alexander

0

尝试做第三功能,如

function toggleState() { 
    if(document.getElementById('ifrlyric').style.display == 'none') { 
     window.lyrics.location='mypage.pdf'; // And I suggest moving this to OpenWindow 
     OpenWindow(); 
    } else { 
     CloseWindow(); 
    } 
} 

然后调用它在你的onClick:

<a href="#" onClick="toggleState();">Mypage</a> 

编辑

重读你的代码,我可以看到一个错字,你写了getElememtById而不是getElementById

+1

我认为'toggleState'不应该依赖于基本状态 – Alexander

+0

@Alexander您的意思是直接使用'document.getElementById(“ifrlyric”).style.display'而不是布尔切换? –

+0

是的,这是正确的 – Alexander

0

功能的“openWindow”必须显示的iframe的唯一使命,因此我建议干脆:

function OpenWindow() { 
    var ifro = document.getElememtById("ifrlyric") 
    ifro.style.display='block' }