У меня есть ajax-скрипт, который загружает элементы списка на мою страницу.В зависимости от того, на какую вкладку нажимает пользователь, откроются разные списки.Элементы списка являются уникальными.Но мое условие if выясняет, в каком списке я нахожусь, затем вычисляет смещение для всплывающего окна.
if(varType == 'search')
{
p = $('.dv_variable_' + subjectId + '_' + varNumber + '_' + varSequence + '_search').offset();
//p.top = $('.dv_variable_' + subjectId + '_' + varNumber + '_' + varSequence + '_search').offset().top - $(window).scrollTop();
//p.left = $('.dv_variable_' + subjectId + '_' + varNumber + '_' + varSequence + '_search').offset().left();
}
else if(varType == 'fuv')
{
p = $('.dv_variable_' + subjectId + '_' + varNumber + '_' + varSequence + '_fuv').offset();
}
И затем я делаю это, если смещение равно 0, 0:
while(p.top == 0 || p.left == 0)
{
if(varType == 'search')
{
p = $('.dv_variable_' + subjectId + '_' + varNumber + '_' + varSequence + '_search').offset();
}
else if(varType == 'fuv')
{
p = $('.dv_variable_' + subjectId + '_' + varNumber + '_' + varSequence + '_fuv').offset();
}
}
Теперь, если я сделаю предупреждение (p.left + "" + p.top) между ifs выше и циклом while, смещение вычисляется, иначе без предупреждения я всегда получаю 0,0.