演示效果參考:http://www.erdangjiade.com/js/869.html
下面是兩個頭像,只要給.avatar加上user_id即可在其右側出現名片彈出層。
下面是兩個頭像,只要給.avatar加上user_id即可在其右側出現名片彈出層。
<div class="avatar" user_id="365"> <a href="http://www.erdangjiade.com/" target="blank" title="進入素材火的主頁"><img src="images/80_80.gif" /></a> </div> <div class="avatar" user_id="520"> <a href="http://www.erdangjiade.com/js" target="blank" title="進入特效的主頁"><img src="http://www.erdangjiade.com/Public/images/logo.png" /></a> </div>ThinkBox名片外掛呼叫方法
//所有頭像繫結ajax獲取名片 var ajaxGetCard; var timeout; $(document).delegate('.avatar,.ThinkBox-wrapper', 'mouseenter', function(event) { //延遲執行滑鼠移除事件 clearTimeout(timeout); var ele = $(this); var user_id = ele.attr('user_id'); if (user_id == undefined) { return false; } //獲取當前元素的位置,計算彈出框位置 var ele_l = ele.offset().left; var ele_t = ele.offset().top; var x = ele_l + 53; var y = ele_t; //如果已經載入過了,則直接顯示 var card = ele.find('.card-box'); if (card.html() != null) { box = $.ThinkBox( card.get(0).outerHTML, { 'fixed': false, 'center': false, 'unload': true, 'close': '', 'dataEle': '', 'style': '', 'x': x, 'y': y, 'modal': false } ); } else { ajaxGetCard = $.get('ajax.php', {'uid': user_id}, function(data) { box = $.ThinkBox( data, { 'fixed': false, 'onload': true, 'center': false, 'close': '', 'dataEle': '', 'style': '', 'x': x, 'y': y, 'modal': false } ); ele.append(data); ele.find('.card-box').hide(); }); } event.stopPropagation(); }).delegate('.avatar,.ThinkBox-wrapper', 'mouseleave', function(event) { var user_id = $(this).attr('user_id'); if (user_id == undefined && $(this).attr('class') != 'ThinkBox-wrapper ThinkBox-') { return false; } ajaxGetCard.abort(); //延遲執行滑鼠移除事件 timeout = setTimeout("$('.ThinkBox-wrapper').remove();", 30); event.stopPropagation(); });