Цитата:
просто интересно было есть варианты без костылей) |
Цитата:
|
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, время: 14:52. |