牛骨文教育服务平台(让学习变的简单)
博文笔记

layui问题汇总

创建时间:2016-11-29 投稿人: 浏览次数:11283

1、动态添加tab,无法显示关闭按钮,或关闭按钮无效


在添加tab的代码处加入以下代码

//触发事件
				var active = {
					tabAdd: function() {
						//新增一个Tab项
						element.tabAdd("demo", {
							title: $(this).text() + "<i class="layui-icon layui-unselect layui-tab-close">ဆ</i>",
							content: "<iframe name="iframe" src="" + this.title + "" frameborder="0" style="width: 100%;"></iframe>"
						});
						//增加点击关闭事件
						var r = $("#tabTitle").find("li");
						//每次新打开tab都是最后一个,所以只对最后一个tab添加点击关闭事件
						r.eq(r.length - 1).children("i.layui-tab-close").on("click", function() {
							element.tabDelete("demo", $(this).parent("li").index());
						}), element.tabChange("demo", r.length - 1);
						element.init();
					},
					tabDelete: function(index) {
						//删除指定Tab项
						element.tabDelete("demo", index); //删除(注意序号是从0开始计算)
					},
					tabChange: function(index) {
						//切换到指定Tab项
						element.tabChange("demo", index); //切换(注意序号是从0开始计算)
					}
				};


全部代码

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<link rel="stylesheet" type="text/css" href="../../css/common.css" />
		<link rel="stylesheet" type="text/css" href="../../asserts/layui/css/layui.css" />
		<script src="../../easyui/jquery.min.js" type="text/javascript" charset="utf-8"></script>
		<script src="../../asserts/layui/layui.js" type="text/javascript" charset="utf-8"></script>
		<title>主页</title>
		<style type="text/css">
			a:hover {
				cursor: pointer;
				text-decoration: none;
			}
		</style>
	</head>

	<body>
		<div style="height:60px;position: relative;top: 0;width:100%;z-index: 100;background: #393D49;">
			<div style="display: inline;font-size: 40px;margin-left:20px;">
				<a><img src="../../img/logo1.png" style="width: 100px;height: 50px;"></a>
			</div>
			<ul class="layui-nav" style="border-radius: 0;display: inline;float: right;">
				<li class="layui-nav-item">
					<a href="">admin</a>
				</li>
				<li class="layui-nav-item">
					<a href="">设置</a>
				</li>
				<li class="layui-nav-item">
					<a href="">退出</a>
				</li>
			</ul>
		</div>
		<div style="top:60px;position: fixed;overflow-x: hidden;">
			<ul class="layui-nav layui-nav-tree layui-nav-side" style="margin-top: 60px;border-radius: 0;">
				<li class="layui-nav-item layui-nav-itemed">
					<a>日常</a>
					<dl class="layui-nav-child">
						<dd>
							<a name="a" title="../good/list.html">商品管理</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">用户管理</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">订单管理</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">商家入驻申请</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">评价管理</a>
						</dd>
					</dl>
				</li>
				<li class="layui-nav-item layui-nav-itemed">
					<a>基础</a>
					<dl class="layui-nav-child">
						<dd>
							<a name="a" title="../../address.html">仓库管理</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">人员管理</a>
						</dd>
					</dl>
				</li>
				<li class="layui-nav-item layui-nav-itemed">
					<a>日志</a>
					<dl class="layui-nav-child">
						<dd>
							<a name="a" title="../../address.html">订单日志</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">登录日志</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">异常日志</a>
						</dd>
					</dl>
				</li>
				<li class="layui-nav-item layui-nav-itemed">
					<a>报表</a>
					<dl class="layui-nav-child">
						<dd>
							<a name="a" title="../../address.html">销售报表</a>
						</dd>
						<dd>
							<a name="a" title="../../address.html">进货报表</a>
						</dd>
					</dl>
				</li>
			</ul>
		</div>
		<div style="left: 200px;right:0;position: absolute;overflow-y: auto;">
			<div class="layui-tab" lay-filter="demo" lay-allowClose="true">
				<ul id="tabTitle" class="layui-tab-title">
				</ul>
				<div id="tabContainers" class="layui-tab-content">
				</div>
			</div>
		</div>
		<script type="text/javascript">
			//调整iframe高度
			function reinitIframe() {
				var iframes = document.getElementsByName("iframe");
				try {
					for(var i = 0; i < iframes.length; i++)
						//iframes[i].height = iframes[i].contentWindow.document.documentElement.scrollHeight;
						iframes[i].height = window.screen.height -280;
				} catch(ex) {}
			}
			window.setInterval("reinitIframe()", 200);

			layui.use("element", function() {
				var $ = layui.jquery,
					element = layui.element(); //Tab的切换功能,切换事件监听等,需要依赖element模块

				//触发事件
				var active = {
					tabAdd: function() {
						//新增一个Tab项
						element.tabAdd("demo", {
							title: $(this).text() + "<i class="layui-icon layui-unselect layui-tab-close">ဆ</i>",
							content: "<iframe name="iframe" src="" + this.title + "" frameborder="0" style="width: 100%;"></iframe>"
						});
						//增加点击关闭事件
						var r = $("#tabTitle").find("li");
						//每次新打开tab都是最后一个,所以只对最后一个tab添加点击关闭事件
						r.eq(r.length - 1).children("i.layui-tab-close").on("click", function() {
							element.tabDelete("demo", $(this).parent("li").index());
						}), element.tabChange("demo", r.length - 1);
						element.init();
					},
					tabDelete: function(index) {
						//删除指定Tab项
						element.tabDelete("demo", index); //删除(注意序号是从0开始计算)
					},
					tabChange: function(index) {
						//切换到指定Tab项
						element.tabChange("demo", index); //切换(注意序号是从0开始计算)
					}
				};

				$("a[name="a"]").on("click", function() {
					var title = $(this).text();
					var tabs = $(".layui-tab-title").children();
					for(var i = 0; i < tabs.length; i++) {
						if($(tabs[i]).html().substr(0,$(tabs[i]).html().indexOf("i")-1) == title) {
							element.tabChange("demo", i);
							return;
						}
					}
					active["tabAdd"].call(this);
					active.tabChange($(".layui-tab-title").children().length - 1);
				});
				
			});
			
		</script>
	</body>

</html>


效果图


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。