Oficjalne forum pomocy serwisu PUN.pl

Niestety, nikt nie powie Ci czym jest FluxBB - musisz go poznać sam!

Nie jesteś zalogowany na forum.

#1 2012-07-15 20:42:43

ukaszf9
Użytkownik
Dołączył: 2011-08-01
Liczba postów: 1,335

[jQuery] IUHO

IUHO - Info user hover onlinelist  (na tą nazwę wpadł użytkownik xn [dblpt]) ) czyli informacja o użytkowniku po najechaniu na jego profil w sekcji online.
W tych informacjach jest zawarta ilość postów, ostatni post oraz data rejestracji aczkolwiek może zawierać dowolne informacje z profilu użytkownika jak np. jego avatar, gadu gadu czy tytuł.

Pierwsze i ostatnie co należy zrobić to dołączyć do stopki bibliotekę jQuery z poniższym kodem

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
/// Info user hover onlinelist
/// by ukaszf9
/// pun.pl
jQuery(document).ready(function() {
	jQuery('dl#onlinelist dd a').live({
mouseenter:
		function()
		{
			var href = $(this).attr('href').split("=")[1];
			jQuery(this).after('<dd id="view"></dd>');
			jQuery('#view').load('profile.php?action=view&id='+href+' .inform:eq(3)', function() {
				jQuery('#view').css({'position':'absolute','background-color':'#000032','opacity':'0.8','width':'255px','height':'80px'});
				/// Ustawienie opcjonalne - ukrywa link pokaz wszystkie posty
				jQuery('#view a').css('visibility','hidden');
			});

		},
mouseleave:
		function()
		{
			jQuery('#view').remove();
		}
	}
	);
});
</script>

I to właściwie na tyle - teraz napiszę kilka krótkich informacji
#000032 - kolor tła, można zmienić na dowolny inny.
0.8 - odpowiada za przezroczystość z zakresu od 0 - 1.

Demo - wystarczy najechać na profil kiedy jestem online albo utworzyć konto i samemu najechać na swój.

Offline

#2 2012-07-15 20:54:23

Nocturn
Użytkownik
Dołączył: 2012-07-01
Liczba postów: 125

Odp: [jQuery] IUHO

Łukaszu, jesteś genialny!

Offline

#3 2012-07-15 21:07:06

xn
Użytkownik
Dołączył: 2010-08-09
Liczba postów: 455

Odp: [jQuery] IUHO

Jak zwykle - podziwiam twoją głowę do tworzenia takich skryptów, brawo! [dblpt]D

Edit: Zauważyłem, że (pod FF) skrypt ten powoduje dziwne zachowywanie się CB...

Ostatnio edytowany przez xn (2012-07-16 12:10:00)

Offline

#4 2012-07-19 13:25:22

ukaszf9
Użytkownik
Dołączył: 2011-08-01
Liczba postów: 1,335

Odp: [jQuery] IUHO

Dziękuje za informacje, w wolnej chwili to poprawię.

@edit
Poprawiona wersja pod IE:

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
/// Info user hover onlinelist
/// by ukaszf9
/// pun.pl
$.noConflict();
jQuery(document).ready(function($) {
    jQuery('dl#onlinelist dd a').live({
mouseenter:
        function()
        {
            var href = $(this).attr('href').split("=")[1];
            jQuery(this).after('<dd id="view"></dd>');
            jQuery('#view').load('profile.php?action=view&id='+href+' .inform:eq(3)', function() {
                jQuery('#view').css({'position':'absolute','background-color':'#000032','opacity':'0.8','width':'255px','height':'80px'});
                /// Ustawienie opcjonalne - ukrywa link pokaz wszystkie posty
                jQuery('#view a').css('visibility','hidden');
            });

        },
mouseleave:
        function()
        {
            jQuery('#view').remove();
        }
    }
    );
});
</script>

Ostatnio edytowany przez ukaszf9 (2012-07-19 13:36:47)

Offline

#5 2013-12-15 17:59:12

mateuszws
Użytkownik
Dołączył: 2013-11-22
Liczba postów: 28

Odp: [jQuery] IUHO

A jak dodac aby pokazywało więcej informacji np. gg, tel. itp ?

Offline

#6 2014-03-19 23:39:21

ArnoldSteinhager
Użytkownik
Skąd: Middenheim
Dołączył: 2013-10-20
Liczba postów: 26
WWW

Odp: [jQuery] IUHO

Ukaszf9, nie programuję w js. ale po kilku prostych testach na moim forum pozwolę sobie zauważyć kilka problemów na jakie napotkałem:

1. Jeśli zmienimy dl#onlinelist na dl#onlinetodaylist, w celu pokazania informacji o osobach, którzy odwiedzili forum (w ciągu ostanich 24 godzin), to po najechaniu myszką na dowolnego usera i odczekaniu 1-2 sekund pojawia się małe wąskie okienko z białym tłem, z zawartoscią: "Ostatnia wizyta: Nick dzisiaj o 23:40". Okienko to częściowo zasłania okno wywoływane przez Twój skrypt. Nie mam pojęcia jak to małe okienko wyłączyć, chyba jedynym wyjściem z opresji byłaby zmiana położenia okienka Twojego skryptu.

2. Mateuszws mamy możliwość częściowej kontroli jakie informacje chcemy pokazać. Przyglądając się temu fragmentowi:

jQuery('#view').load('profile.php?action=view&id='+href+' .inform:eq(3)'

widać, że w części profilu każdego użytkownika forum, tj.: view&id (jest to okno profilu jakie zobaczymy po kliknięciu na usera z listy odwiedzających) znajdują się cztery rubryki, licząc je od góry: 0 - Personalne, 1 - Komunikatory, 2 - Sygnatura/Avatar, 3 - Informacje. Te rubryki wybierasz zmieniając cyfrę w tym obiekcie: .inform:eq(3)
Ukaszf9, pojawia się problem gdy chcemy aby na naszym okienku pojawiał się, np. adres e-mail. Z uwagi na to, że znajduje się on w części profilu "Główne" w kodzie to fragment: essentials&id, do którego ma wgląd jedynie administrator lub osoba z odpowiednimi uprawnieniami - po wprowadzeniu takiej modyfikacji:

jQuery('#view').load('profile.php?action=essentials&id='+href+' .inform:eq(1)'

Adres e-mail użytkowników (z listy odwiedzających) będzie widział jedynie admin forum, natomiast użytkownicy bez uprawnień najprawdopodobniej zobaczą rubrykę "Komunikatory".

Proszę o poprawienie mnie i/lub napisanie jak zmodyfikować problem z 1 punktu oraz jak umieścić lub dołączyć okienka z Twojego skryptu, adres e-mail, tak aby każdy użytkownik mógł go zobaczyć.

Ostatnio edytowany przez ArnoldSteinhager (2014-03-19 23:39:54)


Ramka+UK.png

Offline

Użytkowników czytających ten temat: 0, gości: 1
[Bot] ClaudeBot

Stopka

Forum oparte na FluxBB

Darmowe Forum
plazmacraft - a-p-w - pun - siedemmiracle - fortnite