如何在angularjs中溢出元素时发出警报?

时间:2015-12-23 08:47:25

标签: javascript jquery html css angularjs

我正在创建动态导航标签。 我有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."

请指导.. 提前谢谢。

2 个答案:

答案 0 :(得分:0)

我不知道是否有这样的功能,但你可以试着用一些简单的数学来做: 我们说一个标签是50px;

If (number_of_tab * 50 > 900)
alert("Close old tabs to open new tabs.");

希望它有所帮助。

答案 1 :(得分:0)

首先,您应该知道每个标签的宽度。它是固定宽度的吗?然后,最大标签数为maxTabs = 900 / width,然后只跟踪已打开标签的数量。

如果标签宽度可能不同,那么您应该跟踪所有标签的总宽度。打开新标签后,将其宽度添加到总计。

在这两种情况下,不要忘记在关闭后减去。