Показать сообщение отдельно
Старый 24.09.2009, 17:52
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 1  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
По умолчанию InternetExplorer неправ. позиционирование после обновл. страницы

Здравствуйте
Вот какого рода проблема
Есть прокручивалка картинок ( МОРДОЛЕНТА ) http://divisionby0.org/web_Portfolio/walejo/ala_mamba/
почти все параметры вынесены из флэшки и можно выставить размер картинок, длину флэшки, высоту, количество показываемых картинок и.т.д.
При наведении на картинку она немного увеличивается - так что по высоте флэшка должна быть чуть выше чем картинка.

При обновлении страницы в Опере и FF все работает нормально (хоть миллион раз обновить страницу) - картинки подгружаемые в контейнер (MovieClip) позиционируются по Y там где нужно. А вот в ИЕ при обновлении страницы - почти наполовину своей высоты ниже позиционируются картинки загруженные, а может быть это контейнер(MovieClip) позиционируется неправильно (если обновлять страницу и дальше, то "опускания" картинок больше не происходит).
То есть, при обновлении страницы в ИЕ картинки как бы "падают" ниже, а при первой загрузке - правильно позиционируются.


Флэшка встроена swfObject-ом
Вот код вставки флэшки в страницу:

PHP код:
<div id="flash"><p align="right"><br />
      &
#210;ðåáóåòñÿ Adobe Flash Player 8.0</p>
    
<p align="center"><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&amp;promoid=BIOW" target="_blank">Download Adobe Flash</a></p>
    </
div>
    <
script type="text/javascript" language="javascript">
        var 
so = new SWFObject("sqlGet2.swf""mymovie""858""97""8""#ffffff");
            
so.addParam("menu""false");
            
so.addParam("scale""noscale");
            
so.addParam("allowFullScreen""false");
            
so.addVariable("AvatarsFolder""avatars");
            
so.addVariable("AnimSpd""4");
            
so.addVariable("RightRewindSpeed""7");
            
so.addVariable("notSelectedPersonsAlpha""60");
            
so.addVariable("PersonPic_width""60");
            
so.addVariable("PersonPic_height""88");
            
so.addVariable("PersonPic_Zazor""6");
            
so.addVariable("totalPersonsVisible""13");
            
so.addVariable("CodePage""true");
            
so.addVariable("linkPage""_blank");
            
so.addVariable("sqlGetScript""getDATA.php");

            
so.write("flash");
    
</script> 

во флэшке:
Код AS1/AS2:
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.