载入正在写的html就内嵌三个网页,通过点击三个按钮切换内嵌的页面进行显示,每个内嵌框自适应
时间: 2024-04-14 15:28:41 浏览: 101
要实现内嵌的三个网页在每个内嵌框中自适应大小,并通过点击按钮切换显示,可以结合之前提到的内嵌显示框自适应的方法和切换显示的方法。以下是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<style>
.iframe-container {
position: relative;
width: 100%;
height: 0;
padding-bottom: 56.25%; /* 16:9 宽高比的占比 */
}
.iframe-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<button onclick="showPage(1)">Page 1</button>
<button onclick="showPage(2)">Page 2</button>
<button onclick="showPage(3)">Page 3</button>
<div class="iframe-container">
<iframe id="page1" src="page1.html"></iframe>
</div>
<div class="iframe-container">
<iframe id="page2" src="page2.html"></iframe>
</div>
<div class="iframe-container">
<iframe id="page3" src="page3.html"></iframe>
</div>
<script>
function showPage(pageNumber) {
var iframes = document.getElementsByTagName('iframe');
for (var i = 0; i < iframes.length; i++) {
iframes[i].style.display = 'none';
}
var iframe = document.getElementById('page' + pageNumber);
if (iframe) {
iframe.style.display = 'block';
adjustIframeSize(iframe);
}
}
function adjustIframeSize(iframe) {
var container = iframe.parentNode;
var containerWidth = container.offsetWidth;
var containerHeight = container.offsetWidth * 9 / 16; // 16:9 宽高比
iframe.style.width = containerWidth + 'px';
iframe.style.height = containerHeight + 'px';
}
</script>
</body>
</html>
```
在这个示例中,我们使用了之前提到的内嵌显示框自适应的CSS样式来设置每个iframe的大小。在`showPage()`函数中,除了切换内嵌页面的显示状态外,我们还调用了`adjustIframeSize()`函数来调整每个iframe的大小,使其适应其父容器的大小。
需要注意的是,当切换页面时,需要调用`adjustIframeSize()`函数来重新调整iframe的大小,以确保其自适应父容器的大小。
希望这能满足你的需求!如果你还有其他问题,请随时提问。
阅读全文