2012-06-23 105 views
1

我使用的名片,並用下面的代碼工作完美:懸停卡與懸停功能無法正常工作。有任何想法嗎?

$.getJSON("userjson.php" 
    function(result){ 
     $('.user').hovercard({ 
      showCustomCard: true, 
      customCardJSON: result, 
      openOnLeft: true 
     }); 
    }); 

在上面的代碼我只是考慮存儲在當前登錄使用的cookies的用戶的數據庫中的信息:

$username = $_COOKIE['username']; 

$user_select = mysql_query("SELECT * FROM users WHERE username='$username'",$con); 
$user_array = mysql_fetch_array($user_select); 

$user = array(
    'name' => "<p style=\"text-align:left; text-decoration:underline;\">".$user_array['username']."</p>", 
    'bio' => "<p style=\"text-align:left\"><br>".$user_array['bio']."</p>", 
    'image' => "/pictures/users/".$user_array['propic'] 
); 

echo json_encode($user); 

但是,我想,以取代從當前登錄的用戶信息,用戶誰的名字正在上空盤旋用戶:

$('.user').hover(function() { 
    var obj = $(this); 
$.getJSON("userjson.php",{name: obj.text()}, 
     function(result){ 
      obj.hovercard({ 
       showCustomCard: true, 
       customCardJSON: result, 
       openOnLeft: true 
      }); 
    }); 
}); 

這確實有效(在某種程度上)。我必須將鼠標懸停在名稱上,然後再次顯示,然後當我將鼠標移開時它不會消失。

這是我拍攝的2個視頻,以便您實際瞭解什麼是什麼我說的是:

工作代碼同時登錄的用戶:http://www.youtube.com/watch?v=FrWmOE-r8AA

不工作密碼採取懸停用戶名:http://www.youtube.com/watch?v=E9ksekpBnv0

我需要幫助!

回答

0

懸停卡不應該在懸停時添加,但最初。

$.each($(".user"), function() { 
    var element = $(this); 
    $.getJSON("userjson.php", {name: $(element).text()}, function(resp) { 
     $(element).hovercard({ 
      showCustomCard: true, 
      customCardJSON: resp, 
      openOnLeft: true 
     }); 
    }); 
}); 
+0

它不再響應所有的懸停卡效應 –

+0

你是否等過JSON加載?在懸停之前確認懸停卡已激活。 – matt3141

+0

即時通訊不太確定我是如何做到這一點的。 –