| |
|
|
| 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> </body>
</html> |
|
|
|
|
|