Просмотр полной версии : Как убрать прелоадер при перезагрузке страницы
australian incognito
28.05.2009, 21:16
Собственно, вопрос: как можно убрать постоянное появление прелоадера в шапке сайта, который висит в первом кадре рута при перезагрузке странички сайта или переходе на другой раздел сайта (прелоадер у меня плавно исчезает и после исчезновения дает команду руту - gotoAndPlay(2) ).
Отдельный фрейм для флешки не предлагать.
Stargazer
28.05.2009, 21:35
Сделайте дополнительную проверку. Если bytesLoaded сразу же равно bytesTotal - то пропускать анимацию и сразу переходить к контенту.
australian incognito
29.05.2009, 10:40
в моем случае это не сработало. могу выложить исходный код, если вы думаете, что я что-то упускаю, но у меня или не догружается что-либо или прелоадер всеже виден.
Random SunFire
29.05.2009, 17:33
Действительно может не сработать. Так как ролик на момент проверки может не успевать подгрузиться полностью даже из кэша.
навесь на первую проверку уровень загрузки клипа. Если клип грузится из кэша, то при первой проверке он "почти" загрузился т.е. процентов на 80-99. Если так, то скипуй прелоадер, так как если на первом кадре он спел загрузиться почти весь, то на втором он уже точно будет загружен.
Stargazer
29.05.2009, 21:24
Действительно может не сработать. Так как ролик на момент проверки может не успевать подгрузиться полностью даже из кэша.
навесь на первую проверку уровень загрузки клипа. Если клип грузится из кэша, то при первой проверке он "почти" загрузился т.е. процентов на 80-99. Если так, то скипуй прелоадер, так как если на первом кадре он спел загрузиться почти весь, то на втором он уже точно будет загружен.
Тогда уж лучше выделить 2 чистых кадра, в течение которых прелоадер ожидает полной загрузки клипа. Если через 2 кадра всё загружено - то пропускаем. Если нет - то показываем. Просто сдвинуть прелоадер на 2 кадра вперёд (если не помешает работе остальной части флешки). Если без вставки кадров - то добавить setTimeout перед началом работы прелоадера.
australian incognito
30.05.2009, 20:06
ну вот код первого кадра:
import flash.display.*;
import flash.geom.*;
import mx.transitions.*;
import mx.transitions.easing.*;
import TextField.StyleSheet;
Stage.scaleMode = "noScale";
Stage.showMenu = false;
_quality = "BEST";
stop();
var flag:Boolean = false;
_root.preloader_mc.onLoad = function() {
total = _root.getBytesTotal();
};
_root.preloader_mc.onLoad();
controller_xml = new XML();
controller_xml.ignoreWhite = true;
parse = function () {
...
};
F_go = function () {
parse();
_root.preloader_mc.onEnterFrame = function() {
loaded = _root.getBytesLoaded();
percent = int(loaded/total*665);
var tween_w = new Tween(preloader_mc.bar_mc, "_width", Regular.easeOut, preloader_mc.bar_mc._width, percent, 1, true);
preloader_mc.preload_txt.text = Math.round(loaded/total*100)+"%";
if (loaded == total) {
delete _root.preloader_mc.onEnterFrame;
var tween_alpha = new Tween(preloader_mc, "_alpha", Regular.easeOut, preloader_mc._alpha, 0, 1, true);
tween_alpha.onMotionFinished = function() {
_root.gotoAndPlay(3);
};
}
};
};
controller_xml.onLoad = function(success:Boolean) {
if (success) {
style_css = new StyleSheet();
style_css.onLoad = function(ok) {
if (ok) {
F_go();
}
};
style_css.load("css/style.css");
} else {
null;
}
};
controller_xml.load("xml/controller.xml");
вот код второго кадра:
gotoAndPlay(1);
if (loaded==total) {
preloader_mc._visible = false;
_root.gotoAndPlay(3);
}
вроде ваши мысли в коде истолкованы верно, а все равно не работает.
Stargazer
30.05.2009, 20:42
По-моему, истолковано неверно.
Я вообще не вижу, в каком случае вы будете переходить ко второму кадру.
Что я вижу: на первом кадре стоп, потом загружаются данные, потом прелоадер следит за загрузкой флешки, по её окончании выполняется ваш твин, а потом переход к третьему кадру.
Зачем вообще нужен второй кадр - непонятно.
australian incognito
30.05.2009, 20:54
упс. стоп надо снять с первого кадра естественно. но белиберда получается. сейчас буду разбираться.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.