В моем модуле DNN есть несколько кнопок изображений, которые отображают подменю при нажатии. Абсолютная позиция меню рассчитывается с использованием JavaScript, как и ожидалось. Это работало хорошо до сих пор (в DNN4 и DNN5). Но мы заметили проблему в DNN6. Положение меню отключено на значительное количество пикселей (вероятно, пару сотен).
Поскольку я не написал код расчета и не являюсь экспертом JS, я не могу понять, как DNN6 влияет на него.
Вот функция:
function AbsolutePosition(obj) {
var pos = null;
if(obj != null) {
pos = new Object();
pos.top = obj.offsetTop;
pos.left = obj.offsetLeft;
pos.width = obj.offsetWidth;
pos.height= obj.offsetHeight;
obj = obj.offsetParent;
while(obj != null) {
pos.top += obj.offsetTop;
pos.left += obj.offsetLeft;
obj = obj.offsetParent;
}
}
return(pos);
}
Я хотел бы понять, как на этот код может повлиять структура родительской страницы - потому что изменение скина не имело никакого значения. Это как-то связано с организацией элементов страницы.
Редактировать: И я также ищу предложения относительно любых модификаций кода, которые я мог бы попробовать.
Любой вклад приветствуется! Спасибо.