Rozbudowane opcje panelu uzytkownika

0

Zmienilem nieco wyglad panelu uzytkownika.

Dodalem opcje dzieki ktorej uzytkownik moze podac adresy IP, z ktorych moze miec dostep do konta.
Ale juz jest bug css-a: http://redmine.boduch.net/issues/309

Jakby ktos mogl pomoc (bo ten kod jest IMHO taki sobie...), to plik znajduje sie na SVN w /module/user/template/css/user.css.

0

W sumie drobiazg, ale trochę brzydko wygląda układ:

emptypm.png

0

W sensie - menu po lewej stronie? Jezeli tak - to prosze o sugestie zmian, wtedy sie pomysli :)
Jezeli chodzi o buga, to : http://redmine.boduch.net/issues/309

0

Samo menu fajne - mi się bardzo podoba - tylko taka kosmetyka żeby się nie rozwalało

Wiadomości prywatne i powiadomienia - mogą być puste - więc, żeby zawsze coś menu wskazywało - dać na samą górę (I tak teoretycznie to są rzeczy najczęściej używane).

ew. jeszcze ostatnie wizyty wyżej - bo też mogą być puste - chociaż nie za bardzo wiem po co one tam - i tak mało pokazują

Pod menu i panel po prawej jakiś div z clear: both, coby stopka nie leciała w górę, a zatrzymywała się na końcu lewego menu... czyli zapewne wspomniany bug :)

0

@madmike: tutaj clear: both; nie pomoże, jest ustawione position: fixed;

Podejrzałem kod i widzę, że kontener box-user-menu ma ustawione position: relative, a lista menu w nim position: fixed. W tym przypadku ustawienie position: relative kontenerowi nic nie pomoże, bo lista i tak będzie miała stałe położenie względem strony, a nie względem kontenera (wartość fixed działa troche inaczej niż absolute). Rozwiązaniem jest jedynie js, jak widzę na stronie jest wykorzystywane jquery, więc daję link do odpowiedniego kodu: https://gist.github.com/837729/6ee03e1adf7667c8fdca29e89867022e02228dfa

0

Dzieki sirkruk - rzuce na okiem na ten kod i sprobuje cos z tym zrobic :)

0

Wygląd powinien być ok bez JS, więc trzebaby to inaczej rozwiązać.

0

Zgadzam się, ale to można łatwo obejść. W pliku css trzeba ustawić position: static, a w $(document).load zmienić na fixed.

0

Zauważyłem, że do tej pory problem nie rozwiązany, więc wrzucam kod:

#box-user-menu ul {
	position: relative;
}
$(function(){
	$('#box-user-menu ul').css({position: 'absolute'});
	$(window).bind('load scroll', function(e){
		var boxUser = $('#box-user');
		var menu = $('#box-user-menu ul');
		var maxTop = boxUser.outerHeight() - menu.outerHeight();
		
		var top = $(window).scrollTop();
		if (top > maxTop)
			top = maxTop;
		if (top < 0)
			top = 0;
			
		menu.css({top: top});
	});
});;

W Google Chrome działa bez zarzutów.

0

Hmmm, chyba nie za bardzo rozumiem ten kod. Najpierw w CSS ustawiamy wartosc position elementu #box-user-menu ul na relative, aby nastepie - przy pomocy JS zmienic na absolute? Tak, czy inaczej - ten kod pod Chrome nie dziala. Tzn. element pozostaje statyczny. No coz, zmienilem po prostu wlasciwosci menu - nie jest juz fixed; menu pozostaje statyczne.

0

Tak, linijka $('#box-user-menu ul').css({position: 'absolute'}); w sumie jest właściwie niepotrzebna (już nie będę się rozpisywał o co chodziło). Jak to nie działa? Wklejam powyższy kod do konsoli i całość mi się poprawnie wyświetla.

1 użytkowników online, w tym zalogowanych: 0, gości: 1