0

$(window).resize() でリスト内の div を非表示にする必要があるスクリプトがあります。ただし、古い OS を使用しているため、ブラウザのサイズがリアルタイムで変更されません。代わりに、サイズが変更される場所に痕跡を残し、手放すとサイズが変更されます。したがって、以下のスクリプトは、すべての競合ではなく、リストから 1 つの 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 に答える