载入html就读取三个本地网页(只读取不显示),通过点击三个按钮显示和切换切换内嵌的页面,并且每个内嵌框自适应
时间: 2024-04-14 09:28:42 浏览: 141
要实现读取本地网页,并通过点击按钮显示和切换内嵌的页面,同时让每个内嵌框自适应大小,可以使用JavaScript来实现。以下是一个示例代码:
```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=""></iframe>
</div>
<div class="iframe-container">
<iframe id="page2" src=""></iframe>
</div>
<div class="iframe-container">
<iframe id="page3" src=""></iframe>
</div>
<script>
var pages = [
'page1.html',
'page2.html',
'page3.html'
];
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';
iframe.src = pages[pageNumber - 1];
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>
```
在这个示例中,我们首先定义了一个数组 `pages`,其中包含三个本地网页的文件名。在 `showPage()` 函数中,我们根据点击的按钮来切换内嵌页面的显示状态,并设置相应的 `src` 属性来加载本地网页。然后,我们调用 `adjustIframeSize()` 函数来调整每个内嵌框的大小,使其适应其父容器的大小。
请注意,这里假设你的本地网页文件(page1.html、page2.html、page3.html)与当前的HTML文件在同一目录下。如果不是,请根据实际情况修改 `pages` 数组中的文件路径。
希望这能满足你的需求!如果你还有其他问题,请随时提问。
阅读全文