Nie jesteś zalogowany na forum.
Strony: 1
IUHO - Info user hover onlinelist (na tą nazwę wpadł użytkownik xn ) 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
Łukaszu, jesteś genialny!
Offline
Jak zwykle - podziwiam twoją głowę do tworzenia takich skryptów, brawo!
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
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
A jak dodac aby pokazywało więcej informacji np. gg, tel. itp ?
Offline
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)
Offline
Strony: 1