ugrás a tartalomhoz

Archívum - Jún 21, 2012 - Fórum téma

onmousedown onmouseup

csman007 · 2012. Jún. 21. (Cs), 12.41
Sziasztok!
A következő lenne a problémám.
Egy "csúszkát" csinálok éppen.
A js kód:

function getBox(e){
    	    var x=0;
    	    var y=0;
    	    var p=e;
    	    while(p){
    	        x+=p.offsetLeft;
    	        y+=p.offsetTop;
    	        p=p.offsetParent;
    	    }
    	    p=e;
    	    while(p){
    	        if((p.scrollLeft||p.scrollTop)){
    	            x-=p.scrollLeft;
    	            y-=p.scrollTop;
    	        }
    	        p=p.parentNode;
    	    }
    	    
    	    
    	    return [x,y,x+e.offsetWidth, y+e.offsetHeight]
    	}
    	intervalButton={};

    	function intervalButtonDown(ev,e,name,side){
    	    ev=ev?e:window.event;
    	    intervalButton.e=e;
    	    intervalButton.name=document.getElementById(name);
    	    intervalButton.side=side;
    	    e.parentNode.onselectstart = function (){return false};
    	    e.parentNode.style.MozUserSelect="none";
    	    return false;
    	}
    	
    	function intervalButtonMove(t,e){
    	    if(!intervalButton.e){return};
    	    e=e?e:window.event;
    	    var b=getBox(intervalButton.e.parentNode)
    	   	var v=Math.round((e.clientX-b[0])/30)*5+30;
		   	v=Math.min(v,55);
		    intervalButton.e.style.left=((6*(v-30))-5)+"px";
    	    intervalButton.e.parentNode[intervalButton.side]=v;
    	    $('#einsparung').val(v-25);
    	}
    	function intervalButtonUp(t,e){
    	    intervalButton={};
    	}
a html kód pedig

<div class="intervalInput" onMouseMove="intervalButtonMove(this,event);" onMouseUp="intervalButtonUp(this,event);" >
   <div style="left: 55px;" onMouseDown="intervalButtonDown(event,this,'minV','min');"  class="intervalButton"></div>
</div>
Minden jól megy, csak néha olyat csinál, hogy lenyomom az egérgombot és nem áll meg az onmousemove ha nincs lenyomva az egér gombja, hanem csúszkál ahogy húzom az egeret, pedig nincs lenyomva az egérgomb.
 

Szöveg megjelenítés probléma

pilot · 2012. Jún. 21. (Cs), 10.32
Sziasztok!

Egy weblap készítése során az a probléma merült fel, hogy az Internet Explorer 8 és a Mozilla Firefox 3.5 az oldal szöveges tartalmát nem egyformán jeleníti meg.
Konkrétan: 17px-es betűméretig a karakterek IE esetén kövérebbek, mint a Mozillá-nal. 18px-től már nem szembetűnő a probléma.

Itt a kód:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
BODY {
	font-family: Arial, Helvetica, sans-serif; 
	font-weight: normal;
	font-size: 17px;   
}
</style>
<title>Untitled Document</title>
</head>
<body>
<?php
echo 'teszt';
?>
</body>
</html>
 

PHP - kivételek szerializálása

inf · 2012. Jún. 21. (Cs), 06.08
Üdv.

Nem akartam ennek külön blog bejegyzést, mert annyira kis dolog, úgyhogy ide teszem be.

class Clean_Exception extends Exception {

    public function __sleep() {
        return array_keys(get_object_vars($this));
    }

}
Ha sima Exception-t akarunk szerializálni, vagy annak valami leszármazottját, akkor az egész stack trace-t is szerializálja a php az összes benne lévő változóval. Ez vicces dolgokat tud okozni, mondjuk amikor a munkamenet kezelő objektumok meg hasonlók is belekerülnek...

Egyébként mindez űrlap validáláshoz kell nekem. Jelenleg úgy oldom meg, hogy a validator-tól el lehet kérni egy kivétel példányt, ha hiba van, és utána eldobni, vagy menteni, attól függően, hogy mi a szitu... Felhasználóbarátabb űrlapoknál így vissza lehet küldeni az eredeti űrlaphoz munkamenet változókban a hiba okát. Azért ezt a módszert választottam, mert működik rá az automatikus kiegészítés, és lehet nézni a típusokat. Ha mondjuk típuskóddal, vagy bármi mással küldeném vissza a hiba okát, az sokkal nehezebben kezelhető lenne.
 

Kódkiegészítés

Pepita · 2012. Jún. 21. (Cs), 01.24
Sziasztok!

Olyan gondom van, hogy egy számomra nagyon tetsző framework-ot (CodeIgniter 2.1.0) és - szerintem - nagyon jó szerkesztőt (Komodo Edit 6) használok, de nincs kódkiegészítésem a CI "gyári" osztályaihoz és az általam írtakhoz sem. Ez nekem elég nagy probléma, úgy gyorsaságban, mint szintaktikai hibalehetőségként.

Próbáltam a Komodo-t "ráuszítani" a használt könyvtárakra (még egyenként is, bár elvileg az alkönyvtárakat is felveszi), de a plafon - jelenleg - az, hogy egy-egy helpernél működik. Ezek nem definiálnak osztályt, csak függvényeket.

Gondolom, a CI load->library(...) osztály betöltése/kezelése körül van valami trükk, amit a Komodo "nem ért". Annyira még nem bengéztem át a kódják, hogy rájönnék. Illetve valószínűleg nem is tudok eleget hozzá, legalábbis tartok tőle. (Kicsit még mindig idegen az interpreteres OOP.) A saját doksijában erre nem térnek ki, csak kb. annyi van, hogy "ha betartod ezeket és ezeket a név/fájlnév/könyvtár szabályokat, akkor hú de jó neked, használhatod a loadert és csak egyszer fogja betölteni stb."

Letöltöttem már a Komodo 7-et és a CI-ből is van már 2.1.1, de egyelőre nincs időm azokkal kísérletezni, de ha valaki azt mondaná, hogy akkor megoldódik a probléma, akkor a következő projektre már úgy készülnék.

Megköszönök minden észrevételt, elsősorban azok válaszát várom, akik használják/használták a fent említett szoftvereket.

Üdv. Pepita