Flexcroll и внутренний HTML

Я пытаюсь получить содержимое из набора скрытых (display: none) div для отображения в основном «display» div с помощью innerHTML. В этой части нет проблем. Однако flexcroll, похоже, не загружается в тот момент, когда я изменяю содержимое «отображаемого» div с помощью innerHTML, даже после вызова метода updateScrollBars.

Вот рассматриваемый код:

function switchdis(IDS) {       
    caredet = document.getElementById('caredet');
    carednew = document.getElementById(IDS).innerHTML;
    caredet.innerHTML = carednew;
    fleXenv.updateScrollBars();
}

Я не слишком уверен, в чем проблема. Мне кажется, что функция вызывается (я могу прокручивать колесиком мыши), но полоса прокрутки вообще не появляется. Для справки, моя пользовательская полоса прокрутки отлично работает на других страницах. На другой странице я использовал метод скрытия и отображения элементов div для изменения содержимого на странице; метод updateScrollBars() работает там, когда я вызываю его после отображения div.

Но почему-то с innerHTML это не работает. Кто-нибудь знает, почему?


person user1413107    schedule 23.05.2012    source источник
comment
Дополнительное примечание. Я попробовал вышеуказанную функцию в одном из примеров файлов в flexcroll, и возникла та же проблема. Содержимое заменяется, но полоса прокрутки исчезает.   -  person user1413107    schedule 24.05.2012


Ответы (1)


Я решил эту проблему.

Понял, что я обновил innerHTML div с применением flexcroll. Если у кого-то есть подобные проблемы, НЕ ДЕЛАЙТЕ ЭТОГО. Вместо этого создайте другой div внутри главного div flexcroll и измените innerHTML этого div.

Кроме того, не забывайте обновлять полосы прокрутки flexcroll и при необходимости сдвигать положение прокрутки вверх каждый раз, когда изменяется innerHTML этого внутреннего div.

person user1413107    schedule 24.05.2012