С самим кодом все нормально. Проблема с логикой. Если убрать лишние фигурные скобки то получится:
if (jQuery("#header-outer").hasClass( "at-top" ))
jQuery( ".cd-popup-container" ).addClass( "menu-margin" );
while (jQuery("#header-outer").hasClass("invisible"))
jQuery( ".cd-popup-container" ).removeClass( "menu-margin" );
Т.е. ничего особенного. Другие возникают вопросы. Ищется элемент с id = header-outer. Id по определению может быть только один, неважно имеет он класс invisible, или не имеет, какой тут может быть while, если в цикле классы этого элемента не изменяются, функций, что могут изменить его состояние не вызывается. IMHO стОит не в хромовской панели код вводить, а записать в файл и отлаживать в хромовском отладчике присваивая промежуточные значения переменным и наблюдая их значение.