我正在创建动态导航标签。 我有Home标签(不可关闭),其内容有一些链接。每个链接在新选项卡中打开。当选项卡占用所有可用空间(在我的用例中为900px)并仍然单击新选项卡的链接时,用户应获取警报消息 注意:标签的动态长度。
var object = { "d": [{ "name": "ttt", "url": "bbbb" }, { "name": "uuu", "url": "ppp" }] };
function generate(array) {
var ul = document.createElement('ul');
array.forEach(function (a) {
var li = document.createElement('li'),
anchor = document.createElement('a');
anchor.href = a.url;
anchor.text = a.name;
li.appendChild(anchor);
ul.appendChild(li);
});
return ul;
}
document.body.appendChild(generate(object.d));
有没有办法找到开启标签是否会溢出?
"Close old tabs to open new tabs."
请指导.. 提前谢谢。
答案 0 :(得分:0)
我不知道是否有这样的功能,但你可以试着用一些简单的数学来做: 我们说一个标签是50px;
If (number_of_tab * 50 > 900)
alert("Close old tabs to open new tabs.");
希望它有所帮助。
答案 1 :(得分:0)
首先,您应该知道每个标签的宽度。它是固定宽度的吗?然后,最大标签数为maxTabs = 900 / width
,然后只跟踪已打开标签的数量。
如果标签宽度可能不同,那么您应该跟踪所有标签的总宽度。打开新标签后,将其宽度添加到总计。
在这两种情况下,不要忘记在关闭后减去。