Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Обсуждений тред (https://javascript.ru/forum/offtopic/47364-obsuzhdenijj-tred.html)

cyber 20.11.2015 19:55

Цитата:

Сообщение от bes
ну если ещё немного поизвращаться подумать, то, если всё кроме этого элемента во фрейме будет перекрываться, заставить фрейм в момент перекрытия принимать размеры этого элемента, а сам фрейм делать выше, соответственно, когда перекрытие пропадает, возвращать всё обратно

я так и сделал 2 дня назад))
просто интересно было есть варианты без костылей)

bes 20.11.2015 21:16

Цитата:

Сообщение от cyber
я так и сделал 2 дня назад))
просто интересно было есть варианты без костылей)

когда дойдут руки до написания браузера, учту твои пожелания, ой что будет, что будет :D

cyber 21.11.2015 00:43

bes,
:lol:

ruslan_mart 21.11.2015 10:23

У кого-нибудь есть идеи, как можно назвать метод для получения ближайшего родителя с прокруткой и метод для получения ближайшего родителя с position: absolute/relative?

EmperioAf 21.11.2015 10:49

getClosestScrollingParent и getClosestPositionedParent (самое тривиальное, что можно придумать)

bes 21.11.2015 10:50

Цитата:

Сообщение от Ruslan_xDD
У кого-нибудь есть идеи, как можно назвать метод для получения ближайшего родителя с прокруткой и метод для получения ближайшего родителя с position: absolute/relative?

из области хз :)
getClosestScroller, getClosestAbsoluter, getClosestRelativer

ruslan_mart 21.11.2015 14:36

Вроде всё учёл. :)

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;
}

nerv_ 21.11.2015 14:53

Цитата:

Сообщение от Ruslan_xDD
У кого-нибудь есть идеи, как можно назвать метод для получения ближайшего родителя с прокруткой и метод для получения ближайшего родителя с position: absolute/relative?

А потом тебе потребуется "точно такой же, но с перломутровыми пуговицами" в связи с чем, могу рекомендовать декомпозицию:
1. функция, кот. карабкается вверх по дереву и вызывает коллбек для каждой ноды
2. функция, кот. проверяет соответствует ли нода искомой ноде
function closest(root, cb) {
   // цикл, до тех пор пока функция коллбек не вернет true
   // или не будет достигнут корень дерева
}

рони 21.11.2015 15:06

Цитата:

Сообщение от Ruslan_xDD
Оставить регулярки

с регулярками иногда требуется скидывать lastIndex в ноль после каждой проверки, если регулярка создана 1 раз для всех проверок, а не в самой проверке ... это так на всякий случай

cyber 24.11.2015 15:52

в последней ноде не работает

let {
	Reference,
	Repository
} = require("nodegit");

обидно


Часовой пояс GMT +3, время: 14:52.