ugrás a tartalomhoz

Archívum - Aug 5, 2011

window.event miért undefined?

H.Z. v2 · 2011. Aug. 5. (P), 15.52
Nem értem.

function pageSetup(){
    la=document.getElementById("leftarrow");
    ra=document.getElementById("rightarrow");
    la.addEventListener("click",function(){ return move(this); },false);
    ra.addEventListener("click",function(){ return move(this); },false);

    document.getElementById("slide").innerHTML="ccccc";
}

function move(s){
    var ev=window.event;
    alert(ev);
}
A pageSetup <body onload="pageSetup()> formában indul.
Ha rákattintok a leftarrow/rightarrow id-jű div-ek valamelyikére, akkor a window.event undefined értéket ad. Már megint mit rontok el?
 

setInterval lassú IE 7-ben 8-ban!

Karvaly84 · 2011. Aug. 5. (P), 10.58
Sziasztok!

Egy olyan problémával akadtam össze, hogy a setInterval függvény Explorer 7 és 8-as verzióiban lassan dolgozik.

Részlet:

var fadeOut = Effect.fadeOut = function(elem, ms) {
		var filter = 'opacity' in elem.style ? false : true,
			start = 100;
		if (filter) {
			elem.style.filter = 'alpha(opacity=' + start + ')';
		}
		else {
			elem.style.opacity = start / 100;
		}
		var interval = Math.round(ms / 100);
		var timer = window.setInterval(function() {
			if (filter) {
				elem.style.filter = 'alpha(opacity=' + --start + ')';
			}
			else {
				elem.style.opacity = --start / 100;
			}
			if (start === 0) {
				window.clearInterval(timer);
			}
		}, interval);
		
	};
használat:

window.onload = function() {
	var img = document.getElementById('img');
	Effect.fadeOut(img, 1000);
};
Nem igen használtam még a setInterval-t de ha valaki ismeri ezt a jelenséget megköszönném ha fel homályosítana, hogy hogyan lehet azt megoldani, hogy az időzítés működjön rendesen Explorer régebbi verzáin.

Előre is köszönöm!
 

Közös követők lekérése

vitaliyplay · 2011. Aug. 5. (P), 01.57
Sziasztok!

Adott 2 db tábla: users, followers.

users szerkezete:
ID, firstname, lastname, stb.

followers szerkezete:
ID, follower_userid (ki követ), following_userid (kit)

A = a bejelentkezett felhasználó (most te)
B = miközben végig megy az összes felhasználón egy ciklus, ő az aktuális felhasználó; nem egyenlő "A"-val; nem követi "A"-t

- Ha egy felhasználó követ valakit, nem jelenti azt, hogy a másik is követi őt
- van egy "ajánlott felhasználók" rész az oldalon, ahol közös követők alapján listázza ki a felhasználókat
- "A" felhasználó adatait az $user objektum tárolja ($user->id)
- ha új felhasználót akarsz létrehozni: $user2=new User(felhasználó ID-je);

Kellene egy olyan algoritmus, amely visszaadja a két felhasználó közös követőinek számát.

Eddig ezzel próbálkoztam:

[colorer=php]
$query=mysql_query("SELECT * FROM users WHERE id!='$user->id'");
while($data=mysql_fetch_assoc($query)){
if(!is_follow($user->id,$data["id"])){
echo "$data[firstname] $data[lastname] ($data[id])<br/>\n"; //"B"
$query2=mysql_query("SELECT * FROM followers WHERE follower_userid='$user->id' OR follower_userid='$data[id]' AND following_userid='ide kellene valami'");
while($data2=mysql_fetch_assoc($query2)) //tulajdonképpen ez nem is kell, csak egy mysql_num_rows, csak ellenőrzés képpen van itt
echo "&nbsp;-&nbsp;".getName($data["id"])." (".$data["id"].")