Здравствуйте, какие-то глюки при добавлении элементов после перемещения контейнера через HTMLayoutMoveElement.
Тестовый HTML —
http://files.rsdn.ru/97436/flow_groups.htm
Код (извините, обёртка на C#, в коментариях написал в какие вызовы раскрывается):
var container = view_.FindById("ccc");
//container.Location = new Point(2, 2);
// HTMLayoutMoveElement(Handle, value.X, value.Y)
for (int i = 0; i < 10; ++i)
{
var item = new HtmElement("div", "tt") { Class = "item" };
// HTMLayoutCreateElement(tagName, value
// HTMLayoutSetAttributeByName(Handle, name, value
container.Insert(item);
// HTMLayoutInsertElement(node.Handle, Handle, Int32.MaxValue)
}
После выполнения такого кода всё отлично:
Теперь если раскомментить строку с присваиванием Location (HTMLayoutMoveElement). Получается такое:
Также глюк возникает, но немного по-другому если добавлять сами группы динамически:
view_.FindById("ggg").Delete(); // удалаяем существующую группу
var group = new HtmElement("div", "aaaa aaaa") { Class = "group" };
view_.Body.Insert(group);
var container = new HtmElement("div") { Class = "container" };
group.Insert(container);
//container.Location = new Point(2, 2);
// HTMLayoutMoveElement(Handle, value.X, value.Y)
for (int i = 0; i < 10; ++i)
{
var item = new HtmElement("div", "tt") { Class = "item" };
container.Insert(item);
}
Всё отлично:
Но если раскомментить строчку с изменением Location (HTMLayoutMoveElement):
Как побороть? Меня больше всего последний вариант интересует. Может быть достаточно после Move что-нибудь дёрнуть?
Здравствуйте, c-smile, Вы писали:
CS>Ну или старым добрым способом el.style.left = ... el.style.top = ...
Действительно, можно просто так
В одной из соседних веток move упоминался, стал пробовать — наткнулся на такие глюки.