Chart.dk





Brugernavn:
Password:
Glemt password   :   Opret bruger
Forfatter:magnusbm
Oprettet:19/02 2009
Tidspunkt:09:56:13
Visninger:511
Jeres mening om Javascript kode

Hej alle sammen,

ville lige høre hvad i synes om denne kode:

<html>

<head>
<script>
//
// -------------------------------------------
// Flyt og Størrelses ændringsbare objekter
// -------------------------------------------
// Forfatter: Magnus Brandt-Møller
// Dato: 18/03/09
// Formål: Gøre livet lettere for andre ;)
// Grund: For at bevise at jeg stadig kan lidt JS
// "Needs" ;) = Dette script kræver >1Gh processor og min. 512mb
// Dette script kører bedst ved en 3Gh processor og 2048mb RAM
//



// Konfiguration
var classname = "ms"; // Vælg klassenavn, for de objekter der skal påvirkes
var minalpha = 80; // Hvor mange procent gennemsigtighed objektet skal få når brugeren trykker på det. Gælder ikke hvis gennemsigtighed er sat til false
var maxalpha = 100;  // Hvor mange procent gennemsigtighed objektet skal få når brugeren slipper det. Gælder ikke hvis gennemsigtighed er sat til false
var gennemsigtighed = true; // Definer om du vil have gennemsigtighed på objekter når brugere trækker mv.


// Rediger venligst ikke under denne linje, hvis ikke du har forstand på skidtet ;)

var musnede=false,obj,gamX,gamY,objgamX,objgamy,knap,ms,my,opa=100,timerd,timeru; // Lav variabler til senere brug

function Str(e) // Funktionen der skal ændre objektets størrelse
{
    if(IE()) // Tjekker om brugeren har Internet explorer
    {window.musX = window.event.clientX;musY = window.event.clientY;} // Så tildel musens kordinater i variabler med clientX/Y = IE o.lign.
    else // Hvis ikke
    {window.musX = e.pageX;musY = e.pageY;} // Så tildel musens kordinater i variabler med pageX/Y = Firefox o.lign.
   
    if(musnede)// Hvis en mussetast er trykket ned så
    {
        if((window.musX-obj.offsetLeft) > 0 && (window.musY-obj.offsetTop) > 0) // Hvis objektet ikke inventeres så kør videre.
        {
            obj.style.width =  window.musX-obj.offsetLeft; // Tag musens nuværende X værdi og minus den med objektets afstand fra ventre, og indsæt den som objektets nye bredde.
            obj.style.height = window.musY-obj.offsetTop; // Tag musens nuværende Y værdi og minus den med objektets afstand fra toppen, og indsæt den som objektets nye bredde.
        }
        return false;
    }
   
}

function Flyt(e) // Funktionen der skal flytte objektet
{
    if(IE()) // Tjekker om brugeren har Internet explorer
    {window.musX = window.event.clientX;musY = window.event.clientY;} // Så tildel musens kordinater i variabler med clientX/Y = IE o.lign.
    else // Hvis ikke
    {window.musX = e.pageX;musY = e.pageY;} // Så tildel musens kordinater i variabler med pageX/Y = Firefox o.lign.
   
    if(musnede)// Hvis en mussetast er trykket ned så
    {
        //------------------------------------------
        // Min Formel til Drag and Drop
        //------------------------------------------
        // Hvor var objektet før + Hvor er musen nu - Hvor var musen før
        //
   
        obj.style.left =  (objgamX + window.musX - gamX); // Tag objektets sidste X værdi og plus den med musens nuværende X værdi, og minus med musens sidste X værdi, og indsæt resultatet som objektets nye afstand fra venstre.
        obj.style.top = (objgamY + window.musY - gamY); // Tag objektets sidste Y værdi og plus den med musens nuværende Y værdi, og minus med musens sidste Y værdi, og indsæt resultatet som objektets nye afstand fra venstre.
        return false;
    }
   
}

function MusNede(e) // Funktionen som skal finde det valgte objekt og finde ud af hvad den skal gøre med det.
{
    if(opa == 100)
    {
        if(IE()) // Tjekker om brugeren har Internet explorer
        {
            obj = window.event.srcElement; // Hent aktivt objekt i IE
        }else{ // Ellers
            obj = e.target; // Hent aktivt objekt i anden browser
        }
    }



    if(obj.className == classname) // Hvis det aktive objekt matcher det valgte objekt i classname så gå videre
    {
        if(IE()) // Tjekker om brugeren har Internet explorer
        {mx = window.event.clientX;my = window.event.clientY;} // Så tildel musens kordinater i variabler med clientX/Y = IE o.lign.
        else // Hvis ikke
        {mx = e.pageX;my = e.pageY;} // Så tildel musens kordinater i variabler med pageX/Y = Firefox o.lign.
       
       
                if(IE()) // Tjekker om brugeren har Internet Explorer
                {
                    knap = event.button; // Hent den trykkede knap-kode fra IE
                }else{
                    knap = e.button; // Hent den trykkede knap-kode fra Firefox o.lign.
                }
               
                  if(knap == 2) // Hvis højre musseknap er trykket ned så
                  {
                      if(opa==maxalpha) // Hvis gennemsigtigheden på objektet er lig med maxalpha så gå videre
                    RunDown(); // Kør den funktion som fade gennemsigtigheden ned.
                      obj.style.cursor = "se-resize"; // Sæt musse-markøren til resize tegn.
                      document.onmousemove = Str // Når musen flytter sig på dokumentet/hjemmesiden så kør Str, som ændre størrelsen på objektet.
                      musnede=true; // Sæt variablen musnede til true, for at fortælle at nu er en mussetast nede               
                  }
                 
                  if(knap == 1 || knap == 0 && knap != 4) // Hvis venstre musseknap er trykekt ned så
                  {
                      if(opa==maxalpha) // Hvis gennemsigtigheden på objektet er lig med maxalpha så gå videre
                    RunDown(); // Kør den funktion som fade gennemsigtigheden ned.
                      obj.style.cursor = "move"; // Sæt musse-markøren til et move tegn.
                      gamX = mx; // Sætter musens X værdi ind i variablen oldX
                    gamY = my; // Sætter musens Y værdi ind i variablen oldY
                    objgamX = parseInt(obj.offsetLeft); // Indsætter objektets afstand fra venstre i forhold til musen
                    objgamY = parseInt(obj.offsetTop); // Indsætter objektets afstand fra toppen i forhold til musen
               
                    obj.style.position = "absolute"; // Sætter objektets position til absolute, så det kan flyttes.
                    obj.ondragstart = new Function("return false"); // Hvis browseren tror det er et drag så nægt den det.
                    document.onmousemove = Flyt // Når musen bevæger sig efter at brugeren har trykket så kald funktionen Move()
                    musnede=true; // Sæt variablen musnede til true, for at fortælle at nu er en mussetast nede
                  }
                 
                  if(knap == 4) // Hvis musens midterste knap bliver trykket i IE så placer objektet frem i zIndex.
                  {
                 
                      obj.style.zIndex+=10; // Plus zIndex'et med 10
                  }
                 
                  if(knap == 1 && IE() == false)  // Hvis musens midterste knap bliver trykket i Firefox o.lign. så placer objektet frem i zIndex.
                  {
                 
                      obj.style.zIndex+=10; // Plus zIndex'et med 10
                  }
       
       
    }
return false;
}
function MusOppe() // Funktionen der bliver kaldt når en mussetast slippes
{
    musnede=false;
    if(obj != null) // Hvis der er et aktivt objekt så gå videre
    {
        if(obj.className==classname) // Hvis det aktive objekt matcher det valgte objekt i classname så gå videre
        {
            if(opa == minalpha) // Hvis gennemsigtigheden er lig med minalpha så gå videre.
            RunUp(); // Kører funktionen RunUp(), som fader gennemsigtigheden op.
        }
    }
}

function IE()
{
    if(navigator.appName == 'Microsoft Internet Explorer') // Hvis browserens navn er Microsoft Internet Explorer så gå videre
    {
        return true; // Returner RIGTIGT
    }
    else
    {
        return false; // Retunerer FORKERT
    }
}

function RunDown() // Funktionen som fader objektet ud
{
    if(gennemsigtighed)
    {
        clearTimeout(timeru); // Stopper en måske igangværende RunUp()
       
        if(obj.className != ""  && obj.tagName != "BODY") // Hvis der overhoved er et objekt så gå videre
        {
           
            timerd = window.setTimeout('RunDown()',1); // Lav en timer som kører hvert millisekund
           
            if(opa > minalpha) // Så længe gennemsigtigheden er over minalpha så gå videre
            {
                opa-=4; // Minus gennemsigtigheden med 4 ved hvert trin
            }
            else // Ellers
            {
                clearTimeout(timerd); // Stop RunDown();
            }
           
            Gennemsigtigheden(obj,opa); // Indsætter den kalkulerede gennemsigtighed i objektet
        }
    }
}

function RunUp() // Funktionen som fader objektet op
{
    if(gennemsigtighed)
    {
        clearTimeout(timerd); // Stopper en måske igangværende RunDown()

        if(obj.className != "" && obj.tagName != "BODY") // Hvis der overhoved er et objekt så gå videre
        {
           
            timeru = window.setTimeout('RunUp()',1); // Lav en timer som kører hvert millisekund
           
            if(opa < maxalpha)  // Så længe gennemsigtigheden er under maxalpha så gå videre
            {
                opa+=4; // Plus gennemsigtigheden med 4 ved hvert trin
            }
            else // Ellers
            {
                clearTimeout(timeru);  // Stop RunUp();
            }
               
            Gennemsigtigheden(obj,opa); // Indsætter den kalkulerede gennemsigtighed i objektet
        }
    }
}

function Gennemsigtigheden(objekt,alpha) // Funktionen der handler objektets opacitet/gennemsigtighed. Parametre(objekt=objektet opaciteten skal anvendes på,alpha=graden af opacitet)
{
    if(IE()) // Hvis brugeren har Internet Explorer
    {
        objekt.style.filter = 'alpha(opacity='+alpha+')'; // Laver gennemsigtighden på objektet som et filter
    }
    else // Hvis det er Firefox eller opera eller lign. så gør dette
    {   
        if(alpha < 10) // Hvis alpha er under 10 så put et ekstra nul på
        {
            objekt.style.opacity = "0.0" + alpha; // Gør så gennemsigtigheden virker i firefox og lign.
        }
        else // Hvis alpha er over 10 så fjern det ekstra nul
        {
            if(alpha == 100) // Hvis alpha er 100 så
            {
                objekt.style.opacity = 1; // Sæt opaciteten på objektet til 1 som er 100 i IE
            }else{
                objekt.style.opacity = "0." + alpha; // Med et nul og et punktum fordi at 50 alpha i internet explorer svarer til 0.50 i firefox og lign.
            }
        }   
    }
}



document.onmousedown = MusNede // Kalder MusNede() når brugeren holder en mussetast nede
document.onmouseup  = MusOppe // Kalder MusOppe() når brugeren slipper en mussetast.
document.onselectstart = new Function("return false") // Hvis browseren tror at den skal markere, så nægt den at gøre det.
document.oncontextmenu = new Function("return false") // Hvis vil åbne højrekliksmenuen, så nægt den at gøre det.

</script>
</head>

<body  background="../Dokumenter/Mine%20websteder/toptop.png">
<div class="ms" style="background:beige;width:122px;height:105px;border:1px solid black">
Hej du kan forstørre og formindske mig, og flytte mig
</div>
<div class="ms" style="background:green;width:146px;height:89px;border:1px solid black;color:white">
Hej du kan forstørre og formindske mig, og flytte mig
</div>
<div class="ms" style="background:red;width:59px;height:48px;border:1px solid black;color:white">
Hej du kan forstørre og formindske mig, og flytte mig
</div>
<p><img class="ms" border="0" src="laserking/Billeder/fog100mw.jpg" width="42" height="34"></p>
</param></embed>
&nbsp;
</body>

</html>
magnusbm
19/02-2009 09:57:20

Bare kopier koden ind i noteblok eller andet og gem som html fil, for at se eksempel
magnusbm
19/02-2009 11:33:59

Eksempel: http://mp.magnusbm.dk/p/DragAndDrop.htm
  Hans
19/02-2009 20:36:25

Det er da et i forvejen velkendt script?

Kan ikke finde den på HTMlkoder.dk men på Novil.dk? (http://novil.dk/billede_scripts_diverse_flytbar.htm)
  Hans
19/02-2009 20:36:39

Hov... mente: http://novil.dk/billede_scripts_diverse_flytbar.htm
magnusbm
19/02-2009 22:30:15

Øhh nej, men mit script her ligner meget, ja: http://mp.magnusbm.dk/p/Vista%20Dims.htm

Og desuden så kan man ændre størrelsen på objekter i min kode ved at højreklikke og trække, og det kan man ikke på den side du refererer til.

Plus at min kode slet ikke ligner den på novil, og til at starte med, spurgte jeg jo om hvad i syntes om koden, og ikke om det var lavet før.

Men tak, tak for bemærkningen ;)

Du skal have en bruger og være logget ind på htmlkoder.dk, for at kunne deltage.









 
  © 2005-2010 Martin H. Møller | Fremstillet af Webbureau ComboWeb | HTMLkoder.dk anbefaler