1

現在、クリックするとDIVに含まれるiframeを生成するリンクがあります。この DIV には、クリックすると非表示になるリンクが含まれています。

ただし、単に非表示にするだけではなく、バックグラウンドで実行されないように iframe を「削除」したいのです。

.remove がこれを行うことは理解していますが、再度生成することはできません。

これは現在のコードです:

$(document).ready(function() {
    $("#overlay").hide();
});

$("#ShowSlideshow").live('click', function() {
    $("#overlay").show();
    $('#slideshow').html('<iframe border="0" frameborder="0" width="100%" height="100%" src="index.html"></iframe>').show()
});

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#slideshow").hide();
});

DIVS は次のとおりです。

<div id="overlay"><a href="#" id="HideSlideshow">Close Slideshow</a>
<div id="slideshow"></div>
</div>
4

2 に答える 2

2

実際の #slideshow を削除するのではなく、#slideshow 内の iframe を削除するだけです。そのようです:

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#slideshow iframe").remove();
});
于 2013-02-20T09:46:07.187 に答える
1

IFrame に ID を指定し、Div から Iframe を削除します...その後、動作します...

以下を試してください...

フィドル: http://jsfiddle.net/458bM/50/

HTML :

<div id="overlay"><a href="#" id="HideSlideshow">Close Slideshow</a>

<div id="slideshow"></div>
</div>
<a href="#" id="ShowSlideshow">Show Slideshow</a>

Jクエリ:

$(document).ready(function() {
    $("#overlay").hide();
});

$("#ShowSlideshow").live('click', function() {
    $("#overlay").show();
    $('#slideshow').html('<iframe border="1" frameborder="1" width="100%" id="iframeshow" height="100%" src="http://www.green.org/"></iframe>').show()
});

$("#HideSlideshow").live('click', function() {
    $("#overlay").hide();
    $("#iframeshow").remove();
});
于 2013-02-20T09:56:25.433 に答える