不能让函数对窗口大小进行调整

Can't get function to work on window resize

本文关键字:调整 窗口大小 函数 不能      更新时间:2023-09-26

所以,我有以下jQuery代码:

$(function() {
    var lastElement = false;
    $("ul li").each(function() {
        if (!lastElement || lastElement.offset().top == $(this).offset().top) {
            // add slash
            $(lastElement).after(' /');
        }
        lastElement = $(this);
    })
});

基本上,它将在每个li元素之后添加斜杠,但如果li是该行的最后一个,则不会添加斜杠。我尝试使用相同的函数来调整大小,但是当窗口调整大小时,它会添加几个斜杠而不删除另一个。

这里是小提琴:http://jsfiddle.net/W2ULx/23/

任何想法?谢谢…

不直接改变内容

你可以尝试控制类

例如:

$(lastElement).addClass('hasSlash');
http://jsfiddle.net/W2ULx/25/

除了Ian Wang的回答(并参考您的评论):

当然,你可以使用纯CSS来完成这项工作:

li:not(:last-of-type):after{
    content:" / ";
}

问题(?)是您必须使用媒体查询手动删除不需要的斜杠:

@media screen and (max-width:500px) {
    li:nth-of-type(3n):after {
        content:"";
    }
}

我不确定使用JavaScript还是CSS更好。我想我更喜欢CSS的解决方案