Цитата:
просто интересно было есть варианты без костылей) |
Цитата:
|
bes,
:lol: |
У кого-нибудь есть идеи, как можно назвать метод для получения ближайшего родителя с прокруткой и метод для получения ближайшего родителя с position: absolute/relative?
|
getClosestScrollingParent и getClosestPositionedParent (самое тривиальное, что можно придумать)
|
Цитата:
getClosestScroller, getClosestAbsoluter, getClosestRelativer |
Вроде всё учёл. :)
getClosestRelative: function(strict) {
var element, self = this,
pattern = strict ? /relative/ : /relative|absolute|fixed/;
while(self && self != document) {
if(pattern.test(window.getComputedStyle(self).position)) {
element = self;
break;
}
self = self.parentNode;
}
return element || document.body;
}
Что скажете, коллеги? Оставить регулярки или лучше сделать обычным сравнением через условия?
getClosestRelative: function(strict) {
var element, self = this, position;
while(self && self != document) {
position = window.getComputedStyle(self).position;
if(strict ? position == 'relative' : position != 'static') {
element = self;
break;
}
self = self.parentNode;
}
return element || document.body;
}
|
Цитата:
1. функция, кот. карабкается вверх по дереву и вызывает коллбек для каждой ноды 2. функция, кот. проверяет соответствует ли нода искомой ноде
function closest(root, cb) {
// цикл, до тех пор пока функция коллбек не вернет true
// или не будет достигнут корень дерева
}
|
Цитата:
|
в последней ноде не работает
let {
Reference,
Repository
} = require("nodegit");
обидно |
| Часовой пояс GMT +3, время: 04:06. |