0

我有一个脚本,在 $(window).resize() 上需要隐藏列表中的 div。但是,因为我使用的是较旧的操作系统,所以我的浏览器不会实时调整大小。相反,它会留下一个要调整大小的痕迹,然后放手,它会调整大小。因此,下面的脚本只从列表中删除一个 div 而不是所有的冲突。我怎样才能解决这个问题?

jQuery:

$(window).resize(function () {
    movePivots();
});
    function movePivots() {
        var last_pivot = $("ul li:last");
        if ($("#container").width() - $("ul").width() <= 0) {
            last_pivot.remove();
        } else {

        }
    }

CSS:

#container 
{
    float: left;
    width: 50%;
    min-width: 450px;
    max-width: 900px;
    height: 1000px;
    background-color: #eee;
}

#nav 
{
    float: left;
    background-color: #ddd;
    min-width: 450px;
    max-width: 900px;
    width: 100%;
}

ul 
{
    float: left;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #ccc;
}
4

1 回答 1

1

使用 while 循环:

$(window).resize(function () {
    movePivots();
});
    function movePivots() {
        var last_pivot = $("ul li:last");
        while ($("#container").width() - $("ul").width() <= 0) {
            last_pivot.remove();
            last_pivot = $("ul li:last");
        }
    }
于 2012-07-11T23:41:29.070 回答