0

これは、jquery と jquery-ui を使用した私の主な機能です。問題は、リンクをクリックしたときに新しいアドレスをロードする必要があることです (アニメーション「desaparecer」の後)。リンクには「アーティキュロ」の番号を含む rel タグがあります。

    $(function () {
        function aparecer () {
            $("#centro").show('drop','fast')
        }   
        function desaparecer () {
            $("#centro").hide('drop', 'fast', 'carga ()')
        };
        function cargar () {
            window.location = 'index.php?articulo=' + a.attr('rel');
        };
        $("a").click(function () {
            var a = $(this);
            desaparecer();
            return false;
        });
        aparecer();
    });
4

2 に答える 2

1

carga等しくないcargar

そして、jQuery docs によると、コールバックは、evaled される文字列ではなく、関数であると想定されています。

$("#centro").hide('drop', 'fast', cargar)
于 2011-03-09T22:56:58.650 に答える
0

<a>問題は、タグのクリック ハンドラー内で "a" を宣言したことです。それをこれらの関数の外側に移動します。

$(function () {
    var a;

    function aparecer () {

次に、クリック ハンドラを変更します。

    $("a").click(function () {
        a = $(this);  // no "var" here
        desaparecer();
        return false;
    });

「a」はそのクリック ハンドラーにあるため、「cargar」関数はそれを認識しません。ただし、両方の関数の外で宣言すると、両方とも同じ変数にアクセスできます。

また、「disappear」機能で「cargar」のスペルが間違っているようです。とにかく、実際にはそのような文字列であってはなりません。次のようになります。

    function desaparecer () {
        $("#centro").hide('drop', 'fast', cargar)
    };
于 2011-03-09T22:58:14.687 に答える