Avatar billede fri0z Nybegynder
02. februar 2006 - 12:19 Der er 5 kommentarer og
1 løsning

jeg har lige et lille problem med mit script

hey eksperter, jeg har et script der gøt man kan flytte et div object rundt på sin side: http://mads1.wi2.ots.dk/datelog/.

jeg mangler at definere at den kun skal bruge functions når man rykker i div objektet, og det skal jeg bruge lid hjæl til.

Kode:

<script type="text/javascript">
 
var curObj;
    function init() {
        document.onmousedown = grbObj;
        document.onmousemove = drgObj;
        document.onmouseup = relObj;
        document.onkeypress = testObj;
    }
   
    function testObj() {
        alert(String.fromCharCode(event.keyCode));
        document.focus();
    }
   
    function setZindex(obj,zOrder) {
        obj.zIndex = zOrder;
    }
   
    function shiftTo(obj,x,y) {
        obj.pixelLeft = x;obj.pixelTop = y;
    }   
   
    function setObj() {
        curObj = window.event.srcElement;
        curObj = (curObj.id.indexOf('inf') != -1)? curObj.parentElement : curObj ;
            if (curObj.nodeName != 'BODY') {
                curObj = curObj.style;
                curObj.filter = 'alpha(opacity=100)'
                curObj.zIndex = '100';
                curObj.border = '1px solid #0000ff';
                return;
            }
        curObj = null;
        return;
    }
   
    function drgObj() {
        if (curObj) {
            shiftTo(curObj,(window.event.clientX - offsetX),(window.event.clientY - offsetY));
            return false;
        }
    }
   
    function grbObj() {
        setObj();
        if (curObj) {
            offsetX = window.event.offsetX;
            offsetY = window.event.offsetY;
        }
        return false;
    }
   
    function relObj() {
        if (curObj) {
            curObj.filter = 'alpha(opacity=50)'
            curObj.zIndex = '0';
            curObj.border = '0px';
            curObj = null;
        }
    }
   
    </script>


<body onload="init()">

<div id="news" style="filter:alpha(opacity=100);left:100px;top:300px;position:absolute;width:202px;height:204px;background-image:url('billeder/newsbox.gif');">
</div>

__________________________________________

som i kan se tror den også den skal gøre det alle andre steder.

nogen der kan hjælpe?

på forhånd tak :)
Avatar billede roenving Novice
02. februar 2006 - 13:55 #1
Er det noget, der kun skal benyttes på et intranet eller ...

-- for der er mange ting i de rutiner, der kun vil virker i een eneste browser ...

-- et hurtigt kig fortæller, at hvis det kun skal virke på det ene objekt, så skal init-tingene sættes på det, og setObj skal måske ændres en anelse !-)
Avatar billede fri0z Nybegynder
02. februar 2006 - 14:08 #2
ja det fandt jeg ud af :) nyt problem du måske kan hjælpe med, aner ikke hvad det skyldes.

men hvis du taster noget i min input box:http://mads1.wi2.ots.dk/datelog/

tjah svært at forklare, prøv :)
Avatar billede roenving Novice
02. februar 2006 - 14:52 #3
Tjah, et gæt er, at den funktion, der fjerner border i funktionen også tager fat i inputtene !-)

-- prøv at udkommentere den linje i relObj-funktionen:

    function relObj() {
        if (curObj) {
            curObj.filter = 'alpha(opacity=50)'
            curObj.zIndex = '0';
//            curObj.border = '0px';
            curObj = null;
        }
    }

-- og hvis du skal bruge det til noget alvorligt på internettet skal du i det hele taget droppe den slags funktioner, eller gøre meget tydeligt opmærksom på, at det kun er en del af brugerne, der kan bruge dem !-)
Avatar billede fri0z Nybegynder
07. februar 2006 - 09:59 #4
okay, ja det var sådan set bare ment som en side til at teste ting og sager på :) prøver lige det du har skrevet, ellers bliver det bare ved det, post svar hvis du vil have point :)
Avatar billede roenving Novice
07. februar 2006 - 12:52 #5
Oki '-)
Avatar billede roenving Novice
19. marts 2006 - 13:06 #6
-- og tak for point ;~}
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