layui做一个iframe导航页
时间: 2023-07-13 22:36:11 浏览: 137
实现导航页
您可以参考以下代码示例,使用 layui 中的 Tab 组件和 iframe 功能来实现一个带有导航的 iframe 页面:
HTML 代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>iframe 导航页</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css">
</head>
<body>
<div class="layui-layout layui-layout-admin">
<div class="layui-header">
<!-- 头部区域 -->
<div class="layui-logo">导航页</div>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item">
<a href="javascript:;">管理员</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">个人信息</a></dd>
<dd><a href="javascript:;">切换帐号</a></dd>
<dd><a href="javascript:;">退出</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-side layui-bg-black">
<!-- 左侧导航区域 -->
<div class="layui-side-scroll">
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a href="javascript:;">常用操作</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">选项1</a></dd>
<dd><a href="javascript:;">选项2</a></dd>
<dd><a href="javascript:;">选项3</a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="javascript:;">其他操作</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;">选项4</a></dd>
<dd><a href="javascript:;">选项5</a></dd>
</dl>
</li>
</ul>
</div>
</div>
<div class="layui-body">
<!-- 中间内容区域 -->
<div class="layui-tab layui-tab-brief" lay-filter="tabDemo">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="0">首页</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<iframe src="home.html" frameborder="0" width="100%" height="100%"></iframe>
</div>
</div>
</div>
</div>
<div class="layui-footer">
<!-- 底部区域 -->
© layui.com - 底部版权信息
</div>
</div>
<script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script>
<script>
layui.use(['element', 'layer'], function(){
var element = layui.element;
var layer = layui.layer;
// 添加 Tab 页
function addTab(title, url, id) {
// 判断 Tab 是否已存在
var isExist = false;
var tabIndex = 0;
$('.layui-tab-title li').each(function(index) {
if ($(this).attr('lay-id') === id) {
isExist = true;
tabIndex = index;
}
});
if (isExist) {
// 切换到已存在的 Tab 页
element.tabChange('tabDemo', id);
} else {
// 添加新的 Tab 页
element.tabAdd('tabDemo', {
title: title,
content: '<iframe src="' + url + '" frameborder="0" width="100%" height="100%"></iframe>',
id: id
});
element.tabChange('tabDemo', id);
}
}
// 监听左侧导航点击事件
element.on('nav(test)', function(elem){
var url = elem.attr('href');
var title = elem.text();
var id = elem.data('id');
addTab(title, url, id);
return false;
});
// 监听 Tab 切换事件
element.on('tab(tabDemo)', function(elem){
var id = $(this).attr('lay-id');
var iframe = $('.layui-tab-item.layui-show').find('iframe');
iframe.attr('src', iframe.attr('src'));
});
});
</script>
</body>
</html>
```
在上述代码中,通过 layui 的 Tab 组件实现了导航页的 Tab 切换功能,通过 iframe 元素展示页面内容。左侧导航菜单使用 layui 的 Nav 组件实现,并且通过 data-id 属性存储每个菜单对应的唯一 ID,用于 Tab 切换时的标识。在 JavaScript 代码中,通过监听导航菜单的点击事件和 Tab 切换事件来实现 Tab 的添加和切换。
阅读全文