![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте
Вот какого рода проблема Есть прокручивалка картинок ( МОРДОЛЕНТА ) http://divisionby0.org/web_Portfolio/walejo/ala_mamba/почти все параметры вынесены из флэшки и можно выставить размер картинок, длину флэшки, высоту, количество показываемых картинок и.т.д. При наведении на картинку она немного увеличивается - так что по высоте флэшка должна быть чуть выше чем картинка. При обновлении страницы в Опере и FF все работает нормально (хоть миллион раз обновить страницу) - картинки подгружаемые в контейнер (MovieClip) позиционируются по Y там где нужно. А вот в ИЕ при обновлении страницы - почти наполовину своей высоты ниже позиционируются картинки загруженные, а может быть это контейнер(MovieClip) позиционируется неправильно (если обновлять страницу и дальше, то "опускания" картинок больше не происходит). То есть, при обновлении страницы в ИЕ картинки как бы "падают" ниже, а при первой загрузке - правильно позиционируются. Флэшка встроена swfObject-ом Вот код вставки флэшки в страницу:
во флэшке: Stage.scaleMode="noScale"; Stage.align ="TL"; Object.registerClass("PersonObj",PersonObj); // мувик в библиотеке var sqlGetter=new LoadVars(); ... _root.createEmptyMovieClip("PersonsHolder",_root.getNextHighestDepth()); _root.PersonsHolder._x=0; _root.PersonsHolder._y=Number(_root.PersonPic_height)/2+Math.abs(Stage.height-Number(_root.PersonPic_height))/2; // это контейнер для подгруженных фото ... sqlGetter.onLoad=function(){ Persons_array=this.DB_data.split("<>"); // ответ скрипта читающего из базы MySQL Persons_array.pop(); for(i=0;i<Persons_array.length;i++){ var PersCont=_root.PersonsHolder.createEmptyMovieClip("PersonCont_"+i,_root.PersonsHolder.getNextHighestDepth()); var PERSON=PersCont.attachMovie("PersonObj","PersonObj",PersCont.getNextHighestDepth()); PersCont._width=_root.PersonPic_width; PersCont._height=_root.PersonPic_height; PersCont._x=i*(PersCont._width+Zazor)+(PersCont._width+Zazor)/2; PersCont._y=0; PERSON.dataArray=new Array(); PERSON.nmbr=i; PERSON.parent=PersCont; PERSON.dataArray=Persons_array[i].split(","); PersonsObjectsArray.push(PERSON); PERSON.dataArray.pop(); UserPicture_MCL.loadClip(PERSON.dataArray[PERSON.dataArray.length-2],PERSON.hlst); } if(Persons_array.length>Number(_root.totalPersonsVisible)){ AnimationRightRewindSpeedRazn=Persons_array.length-Number(_root.totalPersonsVisible); PersonsHolder._x=(-1)*AnimationRightRewindSpeedRazn*(Number(_root.PersonPic_width)+Zazor); _root.AnimationRightRewindSpeed_Interval=setInterval(AnimationRightRewind,AnimationRightRewindSpeed); LoadArea_x=PersonsHolder._x; } } sqlGetter.load(_root.sqlGetScript+"?"+Math.random(115)); Последний раз редактировалось djyamato; 24.09.2009 в 19:03. |
|
|||||
|
Модрон-ветеринар
|
Была похожая проблема...
Код не совсем ясен. Вот это как понимать? Как у вас организован цикл? У вас onLoad несколько раз вызывается в цикле? Покажите побольше. Stage тут не нужен, он не при чем. PersonObj в аттаче как меняется? |
|
|||||
|
Цитата:
Код дополнил - взгляните будьте добры |
|
|||||
|
Модрон-ветеринар
|
Сделайте высоту сцены побольше (повыше), сделайте рамочку для PersonsHolder и для индивидуальных контейнеров, а то все белое. Тогда можно будет локализовать проявление проблемы и думать дальше.
Понять можно будет - съезжает ли сам общий холдер, или ниже делаются контейнеры с картинками или даже сами картинки внутри индивидуальных контейнеров, хотя это вряд ли. Добавлено через 6 минут Все таки что-то тут может быть с самой Stage. Вот тут у вас задается положение общего холдера: Может его жестко задать? Последний раз редактировалось mooncar; 24.09.2009 в 19:33. |
|
|||||
|
Спасибо за советы - помучаю флэшку с рамочками
Попробую жестко НО проблема эта в ИЕ выявляется не при первой загрузке а при обновлении страницы - при первой загрузке все позиционируется правильно |
|
|||||
|
Модрон-ветеринар
|
Это-то я заметил. Возможно, дело в разнице работы кэша IE и остальных браузеров? То есть при повторной загрузке, например, swf-ка берется уже из кэша. Попробуйте добавить при публикации к swf рандомную переменную, дабы обойти кэш.
|
|
|||||
|
Цитата:
![]() |
|
|||||
|
Модрон-ветеринар
|
Если у вас страница php:
Не уверен, сработает ли для SWFObject, и кроме того если страница у вас не php, то там у вас JS-скрипт, вместо <?php echo('?'.rand(1, 200) )?> для генерации нужно использовать JS-вставку, я вам не подскажу, с JS не очень дружу. Добавлено через 2 минуты Но вообще, конечно, кэш кэшем, проблемы быть не должно такой. Последний раз редактировалось mooncar; 24.09.2009 в 20:15. |
|
|||||
|
ясненько спасибо
буду экспериментировать как сделаю опишу как я этот досадный глюк поборол |
|
|||||
|
Модрон-ветеринар
|
Да, проблема проявляется, когда IE после рефреша берет ролик из кэша. Если открыть страницу, загрузить флешку, потом зайти в "настройки обозревателя", нажать "удалить файлы" и обновить страницу, все в порядке.
Можно форсировать некэширование, но правильнее все же разобраться, почему так ведет себя флеш. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|