小编jcb*_*cbp的帖子

如何知道两个文本节点是否在视觉上是连续的

我想知道两个文本节点是否在视觉上连续,无论html结构如何,即两者之间没有空行或任何其他元素.

我正在使用范围来获取矩形(大小和位置),但文本节点之间有一个间距(第一个矩形的底部与第二个矩形的顶部不匹配).

我试图根据line-height和计算这个间距,font-size但我得不到相同的值.

这是我尝试的JsFiddle:https://jsfiddle.net/3behsxxq/5/

有没有办法计算这个间距?

编辑: 在jsFiddle代码的第一种情况下,有四行('第一个文本','块','第二','文本块')在视觉上是连续的,也就是说,它们之间的距离是相同的,但我得到的数字相差7(在第一种情况下).如果我尝试根据line-height/font-size与范围值之间的差异丢弃此空间,则它们不匹配,因此我无法抵消它.

javascript css form-control

15
推荐指数
1
解决办法
656
查看次数

使用lodash从数组中过滤冗余对象

数据

var ranges = [
        { start: 2, end: 5 },
        { start: 8, end: 12 },
        { start: 15, end: 20 },
        { start: 9, end: 11 },
        { start: 2, end: 6 }
    ];
Run Code Online (Sandbox Code Playgroud)

每个对象代表一个范围.我需要删除包含在另一个中的范围.也就是说,在两个冗余对象之间我需要保持更长的范围.

我写了这段代码,但我想知道是否有更好的方法来实现这个使用lodash.

var Range = {
    contains: function(r1, r2) {
        return r2.start >= r1.start && r2.end <= r1.end;
    }
};

var result = _.chain(ranges)
    .filter(function(r2) {
        return !_.some(ranges, function(r1) {
            return r1 != r2 && Range.contains(r1, r2);
        });
    })
    .value();

console.log(result);
Run Code Online (Sandbox Code Playgroud)

产量 …

javascript lodash

9
推荐指数
1
解决办法
218
查看次数

标签 统计

javascript ×2

css ×1

form-control ×1

lodash ×1