@web_structure

Страница 438 из 5834
Valera
26.10.2016
22:23:02
Да

LZD64
26.10.2016
22:23:07
и первая кордината значит не пересчитывается

или там наоборот х1 снизу х2 сверху?

Valera
26.10.2016
22:23:38
Смотря для чего. Для линии выше точки нет. А для линии ниже - пересчитывается

Google
Valera
26.10.2016
22:23:49
x1 сверху

LZD64
26.10.2016
22:24:10
вот она и не пересчитывается при удалении элемента

почему?

причем не пересчитывается только при удалении. При добавлении пересчитывается

Valera
26.10.2016
22:26:28
По логике вещей она должна пересчитываться на 60 строке

Функция пересчета то одна и та же на все

LZD64
26.10.2016
22:29:07
Функция пересчета то одна и та же на все
почему она может не пересчитывать при удалении и пересчитывать при доабвление? значит при удлаении не вызывается функция пересчета но почему?

Valera
26.10.2016
22:33:49
Вызывается. Расположение точек же пересчитывается

LZD64
26.10.2016
22:34:22
точек да но не x1

Вызывается. Расположение точек же пересчитывается
ниже строки удаления движения вообще не происходит

Valera
26.10.2016
22:36:01
Только что проверил, происходит

LZD64
26.10.2016
22:37:04
Только что проверил, происходит
у меня нет может разный код смотрим?

Google
LZD64
26.10.2016
22:38:05
Только что проверил, происходит
пересчет происходит только если изменилось количество круглишков в строке

Valera
26.10.2016
22:38:40


Вот так было

Вот так стало, когда удалил 18:



Точки пересчитались

LZD64
26.10.2016
22:39:29
хм

давай разберем как проиходит пересчет х1 при удалении

$('g[data-id='+id+'] line').each(function(){ // Пересчет линий, которые НИЖЕ данной строки d3.select(this).transition() .duration(1000) .attr("x1", b+'%'); });

я так понимаю это оно?

оно берет каждый ид тоесть каждый кругляшек и присваивает ему х1

для линии

ан нет у линни аж два значения х1 y1 и х2 y2

воторые вообще не считаются

не пересчитываются

Valera
26.10.2016
22:54:57
Оно берет id кружка

Который находится сейчас в заданном ряду (а кружки перебираются все)

За каждым кружком идет группа с таким же id (в этой группе дочерние элементы)

Вот, ищется группа с таким же id, какой был у кружка

В ней выбираются все линии (которые непосредственно в ней, а не во в неё вложенных группах)

Google
Valera
26.10.2016
22:57:28
И с этими линиями происходит работа

То есть меняется x1 (поскольку группа и линии ниже кружка, то меняем только верх. координату)

58 строка

Если убрать .transition() .duration(1000)

То все работает как надо

LZD64
26.10.2016
23:03:44
тут нестыковка у тебя если работа происходит только со входящими в группу элементами тогда как двигаются кружки если удалить кружок из другой группы?

Valera
26.10.2016
23:04:32
Пересчет для всех групп происходит

Оно перебирает каждую группу в ряде

И линии в группе

Если убрать .transition() .duration(1000)

То все работает как надо

LZD64
26.10.2016
23:05:21
То все работает как надо
так в чем ошибка то была?

LZD64
26.10.2016
23:05:34
оно рводе никак на пересчет не влияет

Valera
26.10.2016
23:05:36
Таки в анимации

Но надо, что б работало именно с анимацией

Ну попробуй сам, убрать эти строчки и проверь

LZD64
26.10.2016
23:06:13
я проверил работает

Таки в анимации
наверно оно не может посчитать из за анимации полпробуй сначал считать а потом анимировать так можно?

Valera
26.10.2016
23:07:58
Так оно сначала считает, а потом только записывает просчитанное значение (меняет координату)

LZD64
26.10.2016
23:17:38
может пробелма в переменных

Google
Valera
26.10.2016
23:20:20
В каких именно?

LZD64
26.10.2016
23:21:25
.attr("x1", parent.attr('cx')) .attr("y1", parseInt(parent.attr('cy'))+8)

Valera
26.10.2016
23:27:27
Так это вообще только при создании линии используется

LZD64
26.10.2016
23:28:43
а y1 не пересчитывается?

Valera
26.10.2016
23:29:26
Нет

LZD64
26.10.2016
23:29:31
а почему?

Valera
26.10.2016
23:29:36
Высота всегда одна

LZD64
26.10.2016
23:29:52
а ну да

Высота всегда одна
а ты можешь сделать для х1 такой же расчет как для х2?

Admin
ERROR: S client not available

LZD64
26.10.2016
23:41:38
ато в х1 какоето шаманство происходит непонятное

на 57 строке

вот на 66 вроде все ясно

Valera
26.10.2016
23:44:41
На 57 строке на расчет, а просто выбор линий, для которых меняется координата

Если сделать так же, как на 66, то я не смогу для нужной линии забивать правильную координату родителя

LZD64
26.10.2016
23:54:48
без всяких расчетов

а оно и так завязано на нем

ваще как происходит пересчет х1?

вижу только .attr("x1", b+'%');

Google
LZD64
26.10.2016
23:59:04
но это неособо помогает

х1 унас значит b+

а b+ это у нас a

а a всвою очередь a = 100/(count+1);

Valera
27.10.2016
00:01:02
Смотри

LZD64
27.10.2016
00:01:04
ваааааааа как слажно

Valera
27.10.2016
00:01:07
Если после 69 строки

Поставить .delay(1000)

Все работает

Опять же, анимация не оч

Но работает

Расчеты там все верны, тут в анимации же дело

LZD64
27.10.2016
00:02:10
ну как так

неможет такого быть

Valera
27.10.2016
00:07:45
С пересчетем x2 походу проблемы

LZD64
27.10.2016
00:08:37
почему х2 вроде встает на свое место

Valera
27.10.2016
00:10:11
А не

Блин

Сам не пойму, как так то

LZD64
27.10.2016
00:11:05
$('g[data-id='+id+'] > line').each(function(){ // Пересчет линий, которые НИЖЕ данной строки

что вот тут происходит?

Valera
27.10.2016
00:12:14
Выбор группы с таким же id, как у круга

Страница 438 из 5834