1

私はホバーカードを使用していますが、次のコードで完全に機能します。

$.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

私は助けが必要です!

4

1 に答える 1

0

ホバー カードは、ホバー時に追加するのではなく、最初に追加する必要があります。

$.each($(".user"), function() {
    var element = $(this);
    $.getJSON("userjson.php", {name: $(element).text()}, function(resp) {
        $(element).hovercard({
            showCustomCard: true, 
            customCardJSON: resp,
            openOnLeft: true
        });
    });
});
于 2012-06-23T05:28:46.953 に答える