2014-01-26 162 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' }