Avatar billede remowitz Nybegynder
29. december 2005 - 20:31 Der er 2 kommentarer

Placerings bestemmende javascript

Hej jeg benytter af følgende script:

<SCRIPT TYPE="text/javascript">
/**
  * You may use this code for free on any web page provided that
  * these comment lines and the following credit remain in the code.
  * Cross Browser Fireworks from http://www.javascript-fx.com
  */
/*************************************************/
if(!window.JSFX) JSFX=new Object();

if(!JSFX.createLayer)
{/*** Include Library Code ***/

var ns4 = document.layers;
var ie4 = document.all;
JSFX.objNo=0;

JSFX.getObjId = function(){return "JSFX_obj" + JSFX.objNo++;};

JSFX.createLayer = function(theHtml)
{
    var layerId = JSFX.getObjId();

    document.write(ns4 ? "<LAYER  NAME='"+layerId+"'>"+theHtml+"</LAYER>" :
                  "<DIV id='"+layerId+"' style='position:absolute'>"+theHtml+"</DIV>" );

    var el =     document.getElementById    ? document.getElementById(layerId) :
            document.all         ? document.all[layerId] :
                              document.layers[layerId];

    if(ns4)
        el.style=el;

    return el;
}
JSFX.fxLayer = function(theHtml)
{
    if(theHtml == null) return;
    this.el = JSFX.createLayer(theHtml);
}
var proto = JSFX.fxLayer.prototype

proto.moveTo    = function(x,y){this.el.style.left = x;this.el.style.top=y;}
proto.setBgColor = function(color) { this.el.style.backgroundColor = color; }
proto.clip      = function(x1,y1, x2,y2){ this.el.style.clip="rect("+y1+" "+x2+" "+y2+" "+x1+")"; }
if(ns4){
    proto.clip = function(x1,y1, x2,y2){
        this.el.style.clip.top    =y1;this.el.style.clip.left    =x1;
        this.el.style.clip.bottom=y2;this.el.style.clip.right    =x2;
    }
    proto.setBgColor=function(color) { this.el.bgColor = color; }
}
if(window.opera)
    proto.setBgColor = function(color) { this.el.style.color = color==null?'transparent':color; }

if(window.innerWidth)
{
    gX=function(){return innerWidth;};
    gY=function(){return innerHeight;};
}
else
{
    gX=function(){return document.body.clientWidth;};
    gY=function(){return document.body.clientHeight;};
}

/*** Example extend class ***/
JSFX.fxLayer2 = function(theHtml)
{
    this.superC = JSFX.fxLayer;
    this.superC(theHtml + "C");
}
JSFX.fxLayer2.prototype = new JSFX.fxLayer;
}/*** End Library Code ***/

/*************************************************/

/*** Class Firework extends FxLayer ***/
JSFX.Firework = function(fwImages)
{
    window[ this.id = JSFX.getObjId() ] = this;
    this.imgId = "i" + this.id;
    this.fwImages  = fwImages;
    this.numImages = fwImages.length;
    this.superC = JSFX.fxLayer;
    this.superC("<img src='"+fwImages[0].src+"' name='"+this.imgId+"'>");

    this.img = document.layers ? this.el.document.images[0] : document.images[this.imgId];
    this.step = 0;
    this.timerId = -1;
    this.x = 0;
    this.y = 0;
    this.dx = 0;
    this.dy = 0;
    this.ay = 0.2;
    this.state = "OFF";
}
JSFX.Firework.prototype = new JSFX.fxLayer;

JSFX.Firework.prototype.getMaxDy = function()
{
    var ydiff = gY() - 130;
    var dy    = 1;
    var dist  = 0;
    var ay    = this.ay;
    while(dist<ydiff)
    {
        dist += dy;
        dy+=ay;
    }
    return -dy;
}
JSFX.Firework.prototype.setFrame = function()
{
//    this.img.src=this.fwName+"/"+this.step+".gif";
    this.img.src=this.fwImages[ this.step ].src;
}
JSFX.Firework.prototype.animate = function()
{

    if(this.state=="OFF")
    {

        this.step = 0;
        this.x = -200;
        this.y = -200;
        this.moveTo(this.x, this.y);
        this.setFrame();
        if(Math.random() > .95)
        {
            this.x = (gX()-100)*Math.random();
            this.y = (gY()-100)*Math.random();
            this.moveTo(this.x, this.y);
            this.state = "EXPLODE";
        }
    }
    else if(this.state == "EXPLODE")
    {
        this.step++;
        if(this.step < this.numImages)
            this.setFrame();
        else
            this.state="OFF";
    }
}
/*** END Class Firework***/

/*** Class FireworkDisplay extends Object ***/
JSFX.FireworkDisplay = function(n, fwImages, numImages)
{
    window[ this.id = JSFX.getObjId() ] = this;
    this.timerId = -1;
    this.fireworks = new Array();
    this.imgArray = new Array();
    this.loadCount=0;
    this.loadImages(fwImages, numImages);

    for(var i=0 ; i<n ; i++)
        this.fireworks[this.fireworks.length] = new JSFX.Firework(this.imgArray);
}
JSFX.FireworkDisplay.prototype.loadImages = function(fwName, numImages)
{
    for(var i=0 ; i<numImages ; i++)
    {
        this.imgArray[i] = new Image();
        this.imgArray[i].obj = this;
        this.imgArray[i].onload = window[this.id].imageLoaded;
        this.imgArray[i].src = fwName+"/"+i+".gif";
    }
}
JSFX.FireworkDisplay.prototype.imageLoaded = function()
{
    this.obj.loadCount++;
}

JSFX.FireworkDisplay.prototype.animate = function()
{
status = this.loadCount;
    if(this.loadCount < this.imgArray.length)
        return;

    for(var i=0 ; i<this.fireworks.length ; i++)
        this.fireworks[i].animate();
}
JSFX.FireworkDisplay.prototype.start = function()
{
    if(this.timerId == -1)
    {
        this.state = "OFF";
        this.timerId = setInterval("window."+this.id+".animate()", 40);
    }

}
JSFX.FireworkDisplay.prototype.stop = function()
{
    if(this.timerId != -1)
    {
        clearInterval(this.timerId);
        this.timerId = -1;
        for(var i=0 ; i<this.fireworks.length ; i++)
        {
            this.fireworks[i].moveTo(-100, -100);
            this.fireworks[i].step = 0;;
            this.fireworks[i].state = "OFF";
        }
    }
}
/*** END Class FireworkDisplay***/

JSFX.FWStart = function()
{
    if(JSFX.FWLoad)JSFX.FWLoad();
    myFW.start();
}
myFW = new JSFX.FireworkDisplay(10, "fw04", 10);
JSFX.FWLoad=window.onload;
window.onload=JSFX.FWStart;
</SCRIPT>

Problemet er nu at det fylder hele siden. Det skulle det helst ikke. Hvordan får jeg indkredset scriptet således at det kun fylder en del af siden og som jeg selv kan bestemme hvor det skal være henne.

tak på forhånd
Avatar billede larsny Nybegynder
02. januar 2006 - 14:51 #1
Hey

du skal ligge det ind i en fil der hedder .js til sidst og så sætte denne kode ind:

<script src="div.js" type="text/javascript"></script>
Avatar billede mathiasr Nybegynder
17. januar 2006 - 18:43 #2
mange tak... hvordan uddeler jeg pointene til dig?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester