ich brauche eien loesung zum problem, und kann leider nicht selber darauf kommen.. habe schon jarelang nicht mehr actionscript programmiert und es ist sehr viel komlizierter geworden... wir haben einen online store, es basiert auf einer datenbank die .lasso files generiert (keine ahnung von datenbanken??).. die seiete besteht aus einer navigation, animierter flash header zu jedem navigationpunkt, und unten werden die products in html geladen... es wurden keine frames benutzt, die moechten das nicht... ok, das problem ist:
es gibt 10 naviagitionspunkte, ueber eine externen .as files wird zu jedem navigationspunt eigener flash header geladen, in jedem flashheader gibt es ein button , wenn man ihn clickt kommt unten die dazugehoerige categorie auf mit den products auf.. aber, dieser click im header laden die ganze seite neu, und die navigation springt zum anfang (default state, anstatt bleiben wo sie war) und die flash header animation springt zum intro, anstatt bleiben wo sie war... also man bekommt unten die richting categorie in html, aber oben springt alles zum anfang, da die swf's neu geladen werden... was die wollen ist, dass wenn man in der navigation auf etwas clickt, der dazugehoerige flashheader geladen wird und unten die html categorie aufkommt ohne dass man den button im header clickt... also dass nichts zurueckspringt auch...
ist es moeglich dass zu loesen ohne die architektur der seite zu aendern? iframe?
im voraus sehr dankbar,
Dimitri
dies ist der . as file
ActionScript:
var introDelay = 5000;
var fits = ["lover", "muse", "provocateur", "honey", "starlet", "rocker", "twiggy", "socialite", "premium"];
var fitsCount = fits.length;
var fitsToPreload = ["intro", "lover", "muse", "provocateur", "honey", "starlet", "rocker", "twiggy", "socialite", "premium"];
var fitsWithIntroCount = fitsWithIntro.length;
var currentFit = "intro";
var nextFit = false;
var minimumBytes = 4;
var mcLoader = new MovieClipLoader();
var mcLoaderListener = new Object();
MovieClip.prototype.fitProto = function() {
this.fade = false;
this.freezeFade = false;
this.onEnterFrame = function() {
this.onRollOver = function() {
this.fade = true;
};
this.onRollOut = function() {
this.fade = false;
};
if (this.fade || this.freezeFade) {
this.nextFrame();
} else {
this.prevFrame();
}
};
this.enableButton = function() {
this.onRelease = function() {
_global.disableFitButtons();
_root.fit_holder["fit_" + currentFit].gotoAndPlay("outro");
nextFit = this._name.substring(4);
_root["btn_" + currentFit].freezeFade = false;
this.freezeFade = true;
};
};
this.disableButton = function() {
delete this.onRelease;
};
this.enableButton();
};
for (var whichFit = 0; whichFit < fitsCount; whichFit++) { _root["btn_" + fits[whichFit]].fitProto(); }
_root.createEmptyMovieClip("preloader", 10000);
_root.preloader._x = 10000;
_root.createEmptyMovieClip("fit_holder", 1000);
_root.onEnterFrame = function() {
if (fitsToPreload.length > 0) {
if (preloadFit(fitsToPreload[0])) { fitsToPreload.shift(); }
} else {
delete _root.onEnterFrame;
_root.preload_animation._visible = false;
_root.fit_holder.loadMovie("fit_intro.swf");
}
};
function preloadFit(whichFit) {
if (typeof(_root.preloader["fit_" + whichFit]) == "undefined") {
_root.preloader.createEmptyMovieClip("fit_" + whichFit, _root.preloader.getNextHighestDepth());
_root.preloader["fit_" + whichFit].loadMovie("fit_" + whichFit + ".swf");
}
var bytesLoaded = _root.preloader["fit_" + whichFit].getBytesLoaded();
var bytesTotal = _root.preloader["fit_" + whichFit].getBytesTotal();
if ((bytesLoaded >= bytesTotal) && (bytesTotal > minimumBytes)) {
return true;
} else {
return false;
}
}
_global.playNextFit = function() {
if (nextFit !== false) {
_root.fit_holder.loadMovie("fit_" + nextFit + ".swf");
currentFit = nextFit;
}
};
_global.enableFitButtons = function() {
for (var whichFit = 0; whichFit < fitsCount; whichFit++) { _root["btn_" + fits[whichFit]].enableButton(); }
};
_global.disableFitButtons = function() {
for (var whichFit = 0; whichFit < fitsCount; whichFit++) { _root["btn_" + fits[whichFit]].disableButton(); }
};