Salve a tutti!Grazie per avermi dato spazio nel forum.
Le mie capacità nel Javascript sono davvero limitate,quindi perdonatemi se i miei problemi con il linguaggio per voi e semplice routin.
Ho trovato un codice javascript creato da HTML.IT chiamato "banner volante",riguardante un aereo che aggancia un banner scoprendo il secondo,dopo qualche giro rilascia il primo banner al suo posto di partenza,a questo punto rimane cosi in alterato.
Il mio problema comincia qua i vorrei che ripetesse l' azione,in quale punto del codice devo andare per ottenere dei risultati?Grazie!
Qui il codice
- //inserisci il percorso per il banner di default
var bannerdefault = "2.gif";
/*--------------------------------------------------------------------*/
function GetRandom(start,end)
{
var range = end - start + 1;
var result = start + Math.floor(Math.random()*range);
return result;
}
// Generic Layer Object Functions
function getObjectInfo(objectin)
{
var objectOut = new Object();
objectOut.top = 0;
objectOut.left = 0;
objectOut.width = 0;
objectOut.height = 0;
objectOut.right = 0;
objectOut.bottom = 0;
if ((IEmac && IE5) || (IE4plus && !isMac))
{
var newobject = objectin;
objectOut.left = newobject.offsetLeft;
objectOut.top = newobject.offsetTop; //document.body.topMargin;
var newp = newobject.offsetParent;
while(newp != null)
{
objectOut.left += newp.offsetLeft;
objectOut.top += newp.offsetTop;
newp = newp.offsetParent;
}
if (IEmac)
{
objectOut.left += parseInt(document.body.leftMargin);
objectOut.top += parseInt(document.body.topMargin);
}
objectOut.height = newobject.height;
objectOut.width = newobject.width;
}
else if (NS4)
{
objectOut.left = objectin.x;
objectOut.top = objectin.y;
objectOut.width = objectin.width;
objectOut.height = objectin.height;
}
else if (isMac && !IE5 && IE4plus)
{
var el = eval(objectin);
do
{
if (isInt(el.offsetTop))
objectOut.top += el.offsetTop;
if (isInt(el.offsetLeft))
objectOut.left += el.offsetLeft;
el = el.parentElement;
} while (el.tagName != "Body");
if (navigator.appVersion.indexOf("4.5")>=0)
objectOut.top = objectOut.top - 15;
objectOut.width = eval(objectin).offsetWidth;
objectOut.height = eval(objectin).offsetHeight;
objectOut.right = objectOut.left + objectOut.width;
objectOut.bottom = objectOut.top + objectOut.height;
}
else if (NS6)
{
objectOut.left = objectin.offsetLeft+document.getElementsByTagName( 'body')[0].offsetLeft;
objectOut.top = objectin.offsetTop+document.getElementsByTagName(' body')[0].offsetTop;
objectOut.width = objectin.offsetWidth;
objectOut.height = objectin.offsetHeight;
}
objectOut.right = objectOut.left + objectOut.width;
objectOut.bottom = objectOut.top + objectOut.height;
return objectOut;
}
function FlyingAd_Animate()
{
var i = GetRandom(0,this.anim.length - 1);
if (!NS6) // Netscape 6 seems to lose the image if we try to do this
this.animImage.src = this.anim[i];
}
function FlyingAd_Finished()
{
if ( (this.passes >= this.maxPasses) ||
(this.hasDestination && (this.x <= this.destX)) )
return true;
else
return false;
}
function FlyingAd_Move()
{
this.x += this.moveX;
this.y += this.moveY;
if (this.x+this.width < 10)
{
this.x = getWindowWidth();
this.passes++;
this.y += this.driftY;
}
moveTo(this.dv,this.x,this.y);
}
function FlyingAd_SetLoc(x,y)
{
this.x = x;
this.y = y;
moveTo(this.dv,this.x,this.y);
}
function FlyingAd_SetDest(x,y)
{
this.destX = x;
this.destY = y;
this.passes = 0;
this.hasDestination = true;
}
function FlyingAd_Show(shouldShow)
{
if (shouldShow)
showObject(this.dv);
else
hideObject(this.dv);
}
function FlyingAd(divName,animImgName,bannerImgName,divObj)
{
this.moveX = -5;
this.moveY = 0;
this.destX = 0;
this.destY = 0;
this.hasDestination = true;
this.driftY = 50;
this.passes = 0;
this.maxPasses = 1;
this.speed = 50;
this.animationspeed = 500;
this.animIndex = 0;
this.dv = divObj;
this.x = parseInt(this.dv.left);
this.y = parseInt(this.dv.top);
if(NS4)
{
this.animImage = eval("divObj.document."+ animImgName);
this.bannerImage = eval("divObj.document."+ bannerImgName);
this.width = this.animImage.width + this.bannerImage.width;
}
else if (IE4plus)
{
//this.x = this.div.pixelLeft;
//this.y = this.div.pixelTop;
this.animImage = eval("document." + animImgName);
this.bannerImage = eval("document." + bannerImgName);
this.width = parseInt(this.dv.width);
}
else if (NS6)
{
this.animImage = document.getElementById(animImgName);
this.bannerImage = document.getElementById(bannerImgName);
this.width = parseInt(this.dv.width);
}
this.animInfo = getObjectInfo(this.animImage);
this.anim = new Array();
for (i=0;i<arguments.length-4;i++)
{
var img = new Image();
img.src = arguments[i+4];
this.anim[i] = arguments[i+4];
}
this.Move = FlyingAd_Move;
this.Animate = FlyingAd_Animate;
this.Finished = FlyingAd_Finished;
this.SetLoc = FlyingAd_SetLoc;
this.SetDest = FlyingAd_SetDest;
this.Show = FlyingAd_Show;
}
function CreateFlyingLayer()
{
var html = "";
html += '<table border="0" cellspacing="0" cellpadding="0">';
html += '<tr>';
html += '<td>[img]planea.gif[/img]</td>';
html += '<td>[img]spacer.gif[/img]</td>';
html += '</tr>';
html += '</table>';
var nL = createLayer("flyingad",0,0,613,60,html);
return nL;
}
function MoveAnimation()
{
gFlyingAd.Move();
if (!gFlyingAd.Finished())
setTimeout("MoveAnimation()",gFlyingAd.speed);
else
FinishAnimation();
}
function DoAnimation()
{
gFlyingAd.Animate();
if (!gFlyingAd.Finished())
setTimeout("DoAnimation()",gFlyingAd.animationspee d);
}
function FindFirstBannerAd()
{
var returnObj = null;
for (var i=0;i < document.images.length; i++)
{
if ((document.images[i].width==468) && (document.images[i].height==60) &&
(document.images[i].name != "animbanner") )
{
returnObj = document.images[i];
break;
}
}
return returnObj;
}
function FindHighestBannerAd()
{
var returnObj = null;
var lastY = 0;
var imgY = 0;
for (var i=0;i < document.images.length; i++)
{
if ((document.images[i].width==468) && (document.images[i].height==60) &&
(document.images[i].name != "animbanner") )
{
if (IE4plus)
imgY = document.images[i].offsetTop;
else
imgY = document.images[i].y;
if (!returnObj || (imgY < lastY))
{
returnObj = document.images[i];
lastY = imgY;
}
}
}
return returnObj;
}
function FindFirstBannerAdLink(x,y)
{
var returnObj = null;
var objInfo = null;
for (var i=0;i < document.links.length; i++)
{
objInfo = getObjectInfo(document.links[i]);
if ((objInfo.left==x) && (objInfo.top==y))
{
returnObj = document.links[i];
break;
}
}
return returnObj;
}
function GrabBanner()
{
if (IE4plus || NS4 || NS6)
{
var startX = getWindowWidth();
if (gBannerName=="")
gBannerImg = FindHighestBannerAd();
else
gBannerImg = eval("document."+gBannerName);
gBannerInfo = getObjectInfo(gBannerImg);
if (!gFlyingAd)
{
var layer = CreateFlyingLayer();
gFlyingAd = new FlyingAd("flyingad","anim","animbanner",layer,"pla nea.gif","planeb.gif","planec.gif");
}
var destX = gBannerInfo.left - gFlyingAd.animInfo.width;
var destY = gBannerInfo.top;
gFlyingAd.SetLoc(startX,destY);
gFlyingAd.SetDest(destX,destY);
gFlyingAd.Show(true);
gAnimationTimer = setTimeout("DoAnimation()",gFlyingAd.animationspee d);
GoToBanner();
}
}
function FinishAnimation()
{
var startX = getWindowWidth();
var destX = gBannerInfo.left - gFlyingAd.animInfo.width;
var destY = gBannerInfo.top;
gFlyingAd.SetLoc(startX,destY);
gFlyingAd.SetDest(destX,destY);
ReturnBanner();
}
function GoToBanner()
{
gFlyingAd.Move();
if (!gFlyingAd.Finished())
setTimeout("GoToBanner()",gFlyingAd.speed);
else
{
gFlyingAd.bannerImage.src = gBannerImg.src;
//--------------------------//
gBannerImg.src = bannerdefault;
gFlyingAd.hasDestination = false;
MoveAnimation();
}
}
function ReturnBanner()
{
gFlyingAd.Move();
if (!gFlyingAd.Finished())
setTimeout("ReturnBanner()",gFlyingAd.speed);
else
{
gBannerImg.src = gFlyingAd.bannerImage.src;
gFlyingAd.Show(false);
gFlyingAd.bannerImage.src = "spacer.gif";
clearTimeout(gAnimationTimer);
}
}
function FlyingAdClick()
{
var bannerLink = "";
if (gBannerImg)
{
if (gBannerLinkName == "")
{
if (IE4plus)
{
// Assume parent element of image is an anchor (<A>) tag
bannerLink = gBannerImg.parentElement.href;
}
else
{
// Look for the first anchor that has the same host as the image src
var start = 0;
var end = gBannerImg.src.length;
if (gBannerImg.src.indexOf("http://")>=0)
start = gBannerImg.src.indexOf("http://") + 7;
if (gBannerImg.src.indexOf("/",start)>0)
end = gBannerImg.src.indexOf("/",start);
var host = gBannerImg.src.substring(start,end);
for (var i=0;i<document.links.length;i++)
{
if (document.links[i].href.indexOf(host) >= 0)
{
bannerLink = document.links[i].href;
break;
}
}
}
}
else
{
for (var i=0;i<document.anchors.length;i++)
{
if (document.anchors[i].name == gBannerLinkName)
{
bannerLink = document.anchors[i].href;
break;
}
}
}
}
window.location.href = bannerLink;
}
function Replay()
{
window.location.reload();
}
SafeAddOnload(GrabBanner);
var gAnimationTimer = null;
var gFlyingAd = null;
var gBannerImg = null;
var gBannerInfo = null;

Rispondi quotando