Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   XML галлерея, разница отображения в IE и Мозиле (http://www.flasher.ru/forum/showthread.php?t=113921)

flashF1 13.07.2008 18:28

XML галлерея, разница отображения в IE и Мозиле
 
Уважаемые коллеги, у меня возникла такая неразрешимая для меня проблема, может кто с таким сталкивался и сможет мне помочь.

Есть XML галерея, которая корректно работает в IE и абсолютно не корректно в Мозиле, а именно: путает последовательность картинок, некоторые бывает вообще пропускает, из-за этого пауза перед появлением следующего изображения длитсяв 2 раза дольше.

Файл можно скачать по следующей ссылке.
http://www.rapidshare.ru/728976

Спасибо всем кто откликнется.

MrPoma 13.07.2008 19:54

Выложите файл на нормальную файлопомойку.

iNils 13.07.2008 20:07

Цитата:

Сообщение от MrPoma (Сообщение 751840)
Выложите файл на нормальную файлопомойку.

Файлы надо выкладывать на форуме, если файл не проходит через ограничения, значит надо разбить его на части, у автора архив в раре, значит он вполне может это сделать.

MrPoma 13.07.2008 20:16

Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;

var myShowXML = new XML();
myShowXML.ignoreWhite = true;
myShowXML.load("slideshow.xml");

var myWidth;
var myHeight;
var mySpeed;

var myImages;
var myImagesNo;

var myShowInt;

var currentImageLoad = 0;

var target_mc = 0;

var myMCL = new MovieClipLoader();
myMCL.addListener(this);

var myClipsArray = [];

myShowXML.onLoad = function() {
        myWidth = Number(myShowXML.firstChild.attributes.width);
        myHeight = Number(myShowXML.firstChild.attributes.height);
        mySpeed = Number(myShowXML.firstChild.attributes.speed);

        myImages = myShowXML.firstChild.childNodes;
        myImagesNo = myImages.length;

        createContainer();
        callImages();
}

function createContainer(){
        _root.createEmptyMovieClip("myContainer_mc",1);

        myContainer_mc.lineStyle(0,0x000000,0);
        myContainer_mc.lineTo(_root.myWidth,0);
        myContainer_mc.lineTo(_root.myWidth,_root.myHeight);
        myContainer_mc.lineTo(0,_root.myHeight);
        myContainer_mc.lineTo(0,0);

        myContainer_mc._x = (Stage.width-myContainer_mc._width)/2;
        myContainer_mc._y = (Stage.height-myContainer_mc._height)/2;
}

function callImages(){       
        var temp_url = myImages[currentImageLoad].attributes.url;
        var temp_mc = myContainer_mc.createEmptyMovieClip(currentImageLoad, myContainer_mc.getNextHighestDepth());

        _root.myMCL.loadClip(temp_url,temp_mc);
}

/*onLoadStart = function(target){
        _root.createTextField("myText_txt",_root.getNextHighestDepth(),0,0,100,20);
        _root.myText_txt._x = (Stage.width-_root.myText_txt._width)/2;
        _root.myText_txt._y = (Stage.height-_root.myText_txt._height)/2;
        _root.myText_txt.autoSize = "center";

        _root.myText_txt.text = "test";
}*/

/*onLoadProgress = function(target){
        _root.myText_txt.text = "Loading.. "+_root.myClips_array.length+"/"+_root.myImagesNo+" Completed";
}*/

onLoadComplete = function(target){

        myClipsArray.push(target);
        target._alpha = 0;
       
        currentImageLoad ++;

        if (currentImageLoad == _root.myImagesNo){

                _root.myText_txt._y = myContainer_mc._y + myContainer_mc._height;
                _root.target_mc = -1;
                       
                moeSlide();
                myShowInt = setInterval(moveSlide, (_root.mySpeed * 1000) + 1000);
        }else{
                callImages();
        }
}

       

function moveSlide() {

        var current_mc = myClipsArray[target_mc];
       
        new Tween(current_mc, "_alpha", Strong.easeOut, 100, 0, 1, true);

        target_mc++;

        if (target_mc >= myImagesNo) {
                target_mc = 0;
        }
       
        //_root.myText_txt.text = _root.myImages[target_mc].attributes.title;
        var next_mc = myClipsArray[target_mc];
        new Tween(next_mc, "_alpha", Strong.easeOut, 0, 100, 1, true);

}


flashF1 14.07.2008 00:54

MrPoma, огромное тебе спасибо.
Всё вроде заработало корректно. Если можно, то нельзя ли коротко сообщить в чём была моя ошибка.
Ещё раз спасибо.

Wolsh 14.07.2008 02:39

Насколько я понимаю, разница между браузерами может быть только в слэшах в адресе))))) Мозилла (и Опера кажется тоже) не понимает "\" и требует стандартный слэш "/".

MrPoma 14.07.2008 03:43

Проблема была в цикле. Грузить надо последовательно.

Wolsh 14.07.2008 09:43

А разница в браузерах? Расскажи что там происходит?

flashF1 20.07.2008 16:19

Спасибо за информацию


Часовой пояс GMT +4, время: 18:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.