PDA

Просмотр полной версии : Проблема навигации на флеш-сайте


muffin
09.08.2009, 17:14
Доброго времени суток.

Проблема следующая:
Нужно организовать навигацию на флеш-сайте (назад/вперед).
Сайт состоит из одной флешки, в которую подгужаютя "страницы" в пустой муви-клип.
Я пытаюсь сделать это через массив, куда записываются имена подгружаемых флешек. При нажатии кнопки "назад" имя флешки должно браться из массива.

//создаю массив, куда будут записываться имена флешек
var nazad = new Array();

//функция, которая записывает имена в массив
function navig():Array {
if (nazad.length != 0) {
nazad[length-1] = _global.page;
} else {
nazad[0] = _global.page;
}
return (nazad);
}

//обработка нажатия кнопки "назад"
this.pred.onRelease = function() {
if (nazad.length != 0) {
if (nazad[length-1] != _global.page) {
loadMovie(nazad[length-1]+".swf", "clip");
nazad.pop;
} else {
nazad.pop;
}
}
return (nazad);
};

Возможно, я что-то напутала, но кнопка ведет себя неадекватно ((

Помогите, пожалуйста, разобраться, очень срочно надо.
Возможно, кто-то может подсказать что-нибудь более подходящее.

Заранее спасибо ))

zurkis
09.08.2009, 17:56
можно просто сделать используя MovieClipLoader и loadClip и дальше остальные подгружаем с помощью loadMovieNum

udaaff
09.08.2009, 18:28
var pages:Array = [];

b_kontakty.onRelease = getOnReleaseHandler("kontakty.swf");
b_vakancii.onRelease = getOnReleaseHandler("vakansii.swf");
pred.onRelease = pred_onReleaseHandler;

clip.loadMovie("start page.swf");
pages.push("start page.swf");

function getOnReleaseHandler(path:String):Function
{
var onReleaseHandler:Function = function():Void
{
var length:Number = pages.length;
if (length == 0 || pages[length - 1] != path)
{
clip.loadMovie(path);
pages.push(path);
}
}

return onReleaseHandler;
};

function pred_onReleaseHandler():Void
{
var length:Number = pages.length;
if (length > 1)
{
clip.loadMovie(pages[length - 2]);
pages.pop();
}
}

muffin
10.08.2009, 13:45
udaaff, спасибо, работает )

Но. Имеются ссылки и в подгружаемых флешках, но они не запоминаются.
Я так понимаю, что мне нужно обратиться к функции getOnReleaseHandler на основной временной шкале из подгружаемого мувика.
Подскажите, как это провернуть?

Добавлено через 28 часов 28 минут
помогите, плиз!!

Добавлено через 30 часов 31 минуту
кажется, разобралась..