-1

別の関数からid値を呼び出す必要がありますここにコード

$("p").hover(function() {
    var i = $(this).text();
    $("#o").show();
}, function() {
    $("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
    $(".display").append(i);
});​

「.display」クラスdivに「i」値を表示する必要があります。誰でも私を助けてくれます。

4

4 に答える 4

4

単に外で宣言しiてください。

var i = '';
$("p").hover(function() {
   i = $(this).text();
   $("#o").show();
}, 
function() {
   $("#o").delay(2000).fadeOut("slow");
});

$("#o").click(function() {
   $(".display").append(i);
});
于 2012-08-20T14:07:15.503 に答える
1

Vegaの答えに追加するために、グローバルスコープを汚染しないように無名関数でラップします。

(function() {
    var i = '';
    $("p").hover(function() {
        i = $(this).text();
        $("#o").show();
    }, function() {
        $("#o").delay(2000).fadeOut("slow");
    });
    $("#o").click(function() {
        $(".display").append(i);
    });​

})();

javascriptにはクロージャと呼ばれる優れた機能があるため、外部関数が返された後も、変数は内部コールバック関数にアクセスできます。

于 2012-08-20T14:09:39.360 に答える
1

グローバル変数の代わりにクロージャを作成します...

(function (i) {

    $("p").hover(function() {
       i = $(this).text();
        $("#o").show();
    }, function() {
        $("#o").delay(2000).fadeOut("slow");
    });

    $("#o").click(function() {
        $(".display").append(i);
    });​

}(""));
于 2012-08-20T14:10:32.557 に答える
0

関数の外にiを移動して、可変スコープを活用してください。

var i;
$("p").hover(function() {
    i = $(this).text();
    $("#o").show();
}, function() {
    $("#o").delay(2000).fadeOut("slow");
});
$("#o").click(function() {
    $(".display").append(i);
});
于 2012-08-20T14:11:29.833 に答える