![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2008
Сообщений: 6
|
Добрый день!
Есть следующая проблема: В проекте есть скроллпейн, в качестве контента указан пустой мувклип из библиотеки, в который динамически аттачится один и тот же мувклип, так же из библиотеки, в зависимости от пришедших их XML данных, формируя таким образом список. Мувклип, служащий элементом списка, содержит в себе 2 динамических поля, которые являются ссылками, и которые модифицируются так же на основе пришедших из XML данных. Ниже привожу код этого безобразия: function initRatedFilmlist() {
scrollPaneRated.setStyle("borderStyle", "none");
scrollPaneRated.contentPath = "ScrollPaneClip";
ScrollPaneContent = scrollPaneRated.content;
for (i=0; i<RatedFilmsList.length; i++) {
RatedFilm = ScrollPaneContent.attachMovie("RatedFilmItem", "RatedFilm_"+RatedFilmsList[i].id, ScrollPaneContent.getNextHighestDepth(), {_y:38*i+8, _x:135, FilmID:RatedFilmsList[i].id});
/*
Rendering FilmItem
*/
var FilmNameFormat:TextFormat = new TextFormat();
FilmNameFormat.url = RatedFilmsList[i].url;
FilmNameFormat.target = "_blank";
RatedFilm.FilmName.text = RatedFilmsList[i].name;
RatedFilm.FilmName.setTextFormat(FilmNameFormat);
FilmNameFormat.url = RatedFilmsList[i].director_url;
RatedFilm.FilmDirector.text = RatedFilmsList[i].director+", "+RatedFilmsList[i].date;
RatedFilm.FilmDirector.setTextFormat(FilmNameFormat);
}
scrollPaneRated.invalidate();
}
НО! Если начать скролить "резко" и "быстро" происходит разсинхронизация контента и скроллбаров, причем не визуальная. Т.е. визуально, все скроллится правильно, но области скроллпейна, отвечающие за ссылки, как бы отпечатываются в одном состоянии и не реагируются на скролл. Получается, что после "быстро го и резкого" скроллинга ссылки начинают вести вовсе не туда, куда требуется. Такое ощущение, что нужно сделать redraw рабочей области скроллпейна, чтобы синхронизировать ее с контентом. Пробовал invalidate() в on(scroll) и даже в setInterval(), не помогло. Облазил кучу форумов, отечественных и не только, и, разумеется, мануал, сложилось ощущение, что с подобной проблемой никто не сталкивался. Если кто-то сможет помочь, буду невероятно признателен. Заранее благодарю. |
|
|||||
|
Регистрация: May 2008
Сообщений: 6
|
После долгих мытарств обнаружил, что проблема наблюдается, только если при скролллинге приложение теряет фокус, т.е. мышь, удерживающая скролл, выходит за границы приложения.
Т.е., фактически, происходит FocusOut. По всей видимости, нужно каким-то образом вернуть скроллпейну фокус и заставить его перерисоваться. У кого-нибудь есть идеи? |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|