각 탭에 iframe이있는 탭 컨테이너가 있습니다 (절대로 절대로 절대로 ...이 대안이 없습니다). 각 iframe의 내용이 매우 크기 때문에 사용자가 다른 탭을 선택하면 새 탭과 해당 iframe 내용이로드되고 표시되기 전에 '이전'탭의 iframe 내용 (HTML)을 제거해야합니다. 이렇게하면 현재 선택된 탭의 iframe 내용 만로드되고 다른 탭의 모든 iframe 내용은 비어 있어야합니다. iframe 내용을 지우는 방법을 연구했지만, 노력에도 불구하고 탭 jquery 코드에 성공적으로 적용 할 수 없습니다. 누구든지 도와 줄 수 있습니까? 피들 : https://jsfiddle.net/kxh47qjo/새 탭이 선택 될 때마다 이전 탭 iframe 내용 비우기
https://code.jquery.com/jquery-1.12.4.js
https://code.jquery.com/ui/1.12.1/jquery-ui.js
https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css
<div id="tabs">
<ul>
<li><a class="tabref" href="#tabs-1" rel="https://bing.com">Table1</a></li>
<li><a class="tabref" href="#tabs-2" rel="https://jsfiddle.net">Table2</a></li>
<li><a class="tabref" href="#tabs-3" rel="https://jqueryui.com/demos/tabs">Table3</a>
</ul>
<div id="tabs-1">
</div>
<div id="tabs-2">
</div>
<div id="tabs-3">
</div>
</div>
.
$(function() {
var $tabs = $('#tabs').tabs();
// Select start tab index number
var MASTER_STARTtab = 0;
$("#tabs").tabs({active: MASTER_STARTtab
});
//Get tab contents
beginTab = $("#tabs ul li:eq(" + MASTER_STARTtab + ")").find("a");
loadTabFrame($(beginTab).attr("href"), $(beginTab).attr("rel"));
// -----------------------------------
$("a.tabref").click(function() {
loadTabFrame($(this).attr("href"), $(this).attr("rel"));
});
//tab switching function
function loadTabFrame(tab, url) {
if ($(tab).find("iframe").length == 0) {
var html = [];
html.push('<div class="tabIframeWrapper">');
html.push('<div class="openout"><a href="' + url + '"><border="0"
alt="Open" title="Remove iFrame" /></a></div><iframe class="iframetab" src="' + url + '">Load Failed?</iframe>');
html.push('</div>');
$(tab).append(html.join(""));
$(tab).find("iframe").height($(window).height() - 80);
}
return false;
}
});
입니까? –