无法获取函数来调整窗口大小

时间:2014-07-21 11:30:21

标签: javascript jquery

所以,我有以下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/

有什么想法吗? 感谢...

2 个答案:

答案 0 :(得分:2)

而不是直接更改内容

你可以尝试控制班级

例如:

$(lastElement).addClass('hasSlash');

http://jsfiddle.net/W2ULx/25/

答案 1 :(得分:0)

除了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解决方案。