我正在使用Hovercard,它与以下代码完美配合:
$.getJSON("userjson.php"
function(result){
$('.user').hovercard({
showCustomCard: true,
customCardJSON: result,
openOnLeft: true
});
});
在上面的代码中,我只是获取存储在当前使用cookie登录的用户数据库中的信息:
$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 :(得分:0)
悬停卡不应在悬停时添加,而是最初添加。
$.each($(".user"), function() {
var element = $(this);
$.getJSON("userjson.php", {name: $(element).text()}, function(resp) {
$(element).hovercard({
showCustomCard: true,
customCardJSON: resp,
openOnLeft: true
});
});
});