2010-11-27 120 views
4

所以我搜索了四周,我找不到明確的答案。我希望我的iframe有一個關閉按鈕,以便用戶可以單擊它,而不必使用ESC鍵關閉SimpleModal容器。SimpleModal - 用關閉按鈕關閉iframe

我已經嘗試了幾件事情,但它似乎沒有任何東西被傳入iframe可以關閉容器。

回答

3

試試這個:

$(document).keyup(function (e) { 
     if (e.keyCode == 27) { 
      return; 
     } 
    }); 
8

嘗試以下操作:

parent.$.modal.close(); 

source

+0

我試過,無濟於事。我會很快發佈代碼。 – Dusan 2010-12-28 14:24:38

1

我有同樣的問題。當我的iFrame的「src」屬性使用https作爲協議時,它發生了。在這種情況下,parent.$.modal.close();將不起作用。

我做了什麼來解決它是添加Eric在SimpleModal項目頁面上談論的通常關閉按鈕。

的closeHTML行添加到您的模式腳本:

closeHTML:"<a href='#' class='modalCloseImg' alt='Close' title='Close'><a>", 

這將增加的關閉按鈕上外模態的,而不是iFrame中。

然後,您需要的樣式的關閉按鈕,使用您的網頁上這個CSS:

<style type="text/css"> 
#simplemodal-container a.modalCloseImg { 
    background:url('http://your.domain.name/your_image_folder/x.png') no-repeat; /* adjust url as required */ 
    width:25px; 
    height:29px; 
    display:inline; 
    z-index:3200; 
    position:absolute; 
    top:-15px; 
    right:-18px; 
    cursor:pointer; 
} 
</style> 

您可以在這裏找到圖片: SimpleModal Demo's x.png

這裏有一個完整的腳本給你:

<script type="text/javascript"> 
// Display an external page using an iframe 
var src = "http://your.domain.name/your_source_file.html"; 
$.modal('<iframe src="' + src + '" height="450" width="830" style="border:0">', { 
    closeHTML:"<a href='#' class='modalCloseImg' alt='Close' title='Close'><a>", /* Add this <a> tag for the Close image to appear. */ 
    containerCss:{ 
     backgroundColor:"#fff", 
     borderColor:"#fff", 
     height:450, 
     padding:0, 
     width:830 
    }, 
    overlayClose:false /* Stops user from clicking overlay to exit modal. */ 
}); 
</script> 

我希望這有助於! 乾杯 保羅

1

我用一種簡單的方法解決了這個問題,但我使用鏈接<a>而不是一個按鈕,但是是相同的。

只是簡單的把這個:類=「simplemodal關閉」 例如, 如果你想有一個按鈕來關閉:<input type="submit" class="simplemodal-close" value="Close" />

試試吧,沒有的功能,沒有的onclick =「」,什麼都沒有。它的工作原理

假設你正在使用的Simplemodal:http://www.ericmmartin.com/projects/simplemodal_v101/

祝您好運!