View difference between Paste ID: EGJGjPpy and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | jQuery(document).ready(function($) { |
2 | $(function() | |
3 | { | |
4 | var hideDelay = 200; | |
5 | var userInfo; | |
6 | var hideTimer = null; | |
7 | ||
8 | // One instance that's reused to show info for the current person | |
9 | var container = $('<div id="popupContainer">' | |
10 | + '<table width="" border="0" cellspacing="0" cellpadding="0" align="center" class="popupBubble">' | |
11 | + '<tr>' | |
12 | + ' <td class="corner topLeft"></td>' | |
13 | + ' <td class="top"></td>' | |
14 | + ' <td class="corner topRight"></td>' | |
15 | + '</tr>' | |
16 | + '<tr>' | |
17 | + ' <td class="left"> </td>' | |
18 | + ' <td><div id="popupContent"></div></td>' | |
19 | + ' <td class="right"> </td>' | |
20 | + '</tr>' | |
21 | + '<tr>' | |
22 | + ' <td class="corner bottomLeft"> </td>' | |
23 | + ' <td class="bottom"> </td>' | |
24 | + ' <td class="corner bottomRight"></td>' | |
25 | + '</tr>' | |
26 | + '</table>' | |
27 | + '</div>'); | |
28 | ||
29 | $('body').append(container); | |
30 | ||
31 | $('.avatar').live('mouseover', function() | |
32 | { | |
33 | // format of 'rel' tag: userID | |
34 | var userID = $(this).attr('rel'); | |
35 | ||
36 | // If no userID in url rel tag, don't popup blank | |
37 | if ( !userID) | |
38 | return; | |
39 | ||
40 | if (hideTimer) | |
41 | clearTimeout(hideTimer); | |
42 | ||
43 | var pos = $(this).offset(); | |
44 | var width = $(this).width(); | |
45 | container.css({ | |
46 | left: (pos.left + width) + 'px', | |
47 | top: pos.top - 5 + 'px' | |
48 | }); | |
49 | ||
50 | $('#popupContent').html('<img src="yourwebsitedomain.com/wp-content/plugins/cd-bp-avatar-bubble/images/loader.gif" style="border:none" />'); | |
51 | ||
52 | $.ajax({ | |
53 | type: 'GET', | |
54 | url: 'yourwebsitedomain.com/wp-content/plugins/cd-bp-avatar-bubble/personalajax.php', | |
55 | data: 'ID=' + userID, | |
56 | success: function(data) | |
57 | { | |
58 | // Verify that we're pointed to a page that returned the expected results. | |
59 | if (data.indexOf('result') < 0) | |
60 | { | |
61 | $('#popupContent').html('<span>There was an error while loading data about user ' + userID + '. <br>Try again later please...</span>'); | |
62 | } | |
63 | ||
64 | // Verify requested person is this person since we could have multiple ajax requests out if the server is taking a while. | |
65 | if (data.indexOf(userID) > 0) | |
66 | { | |
67 | var text = $(data).html(); | |
68 | $('div#popupContent').html(text); | |
69 | } | |
70 | } | |
71 | }); | |
72 | ||
73 | container.css('display', 'block'); | |
74 | }); | |
75 | ||
76 | $('.avatar').live('mouseout', function() | |
77 | { | |
78 | if (hideTimer) | |
79 | clearTimeout(hideTimer); | |
80 | hideTimer = setTimeout(function() | |
81 | { | |
82 | container.css('display', 'none'); | |
83 | }, hideDelay); | |
84 | }); | |
85 | ||
86 | // Allow mouse over of details without hiding details | |
87 | $('#popupContainer').mouseover(function() | |
88 | { | |
89 | if (hideTimer) | |
90 | clearTimeout(hideTimer); | |
91 | }); | |
92 | ||
93 | // Hide after mouseout | |
94 | $('#popupContainer').mouseout(function() | |
95 | { | |
96 | if (hideTimer) | |
97 | clearTimeout(hideTimer); | |
98 | hideTimer = setTimeout(function() | |
99 | { | |
100 | container.css('display', 'none'); | |
101 | }, hideDelay); | |
102 | }); | |
103 | }); | |
104 | }); |