1

JQueryを使用するだけで、PHPを必要とせずに、「If」、「Else If」、または「Else」ステートメント内から変数を別のセクションに渡すことができるかどうかを知りたいです。


JQuery コード:

$('#Info-Side-Tabs a').click(function() {
    var clicked = $(this).attr('href');
    if (clicked == "#Map-Selection-Info-Close") {
        $('#Info-Side-Tabs li').removeClass('active');
        $(this).parent().addClass('active');
        $(this).attr("href","#Map-Selection-Info-Open");
        $(this).text('Open Me');
        $('#Map-Selection-Info').animate({marginLeft: '978px'}, 1000);
        $('#ATWI80C-Map').animate({width: '900px' }, 1000);
    } else if (clicked == "#Map-Selection-Info-Open") {
        $(this).parent().removeClass('active');
        $(this).attr("href","#Map-Selection-Info-Close");
        $(this).text('Close Me');
        $('#Map-Selection-Info').animate({marginLeft: '670px'}, 1000);
        $('#ATWI80C-Map').animate({width: '600px' }, 1000);
    } else {
        $('#Info-Side-Tabs li').removeClass('active');
        $(this).parent().addClass('active');
        var activeTab = $(this).attr('href');
        $('#tab-content > div:visible').hide();
        $(activeTab).show();
        return false;
    }
});

上記では、タブがオンになっているサイド情報を閉じたり開いたりします。クリックが「#Map-Selection-Info-Close」と等しくない場合は、名前の変数を設定する必要があります。私がこれをやりたい理由は、 #Map-Selection-Info-Close/#Map-Selection-Info-Open がタブスイッチャーにありますが、それらのコンテンツがないため、以前のコンテンツを保持しますが、クラスを閉じると、アクティブなクラスになります。開くと、以前のコンテンツが表示されますが、アクティブなクラスを表示されている現在のコンテンツに戻す方法がわかりません。

私はJQueryにかなり慣れていませんが、これはこれまでで最高のことであり、クリックしたのですべてを簡単に拾うことができたと思いますが、可能であれば上記を行う方法がわかりません。私が達成したいことをするための助けやアドバイスに感謝します。

よろしくお願いします、

ティム

4

1 に答える 1

1

私は答えを探し続け、記事を読み、学習し、新しいキーワードを使用して新しい検索結果を定義しました。最初に変数をグローバルにする必要があることを学びました。

// To set fully global for all your functions, set it here
var lastclicked;
$('#Info-Side-Tabs a').click(function() {
    var clicked = $(this).attr('href');
    if (clicked == "#Map-Selection-Info-Close") {
        // functions
    } else if (clicked == "#Map-Selection-Info-Open") {
        // functions
    } else {
        // functions
    }
});

そこで、新しい変数「lastclicked」に値を設定しませんでした。次のステップは、このグローバル変数を使用できるようにするためのキー値です。このグローバル変数をどこにでも設定したい場合は、「var」を省略します。

$('#Info-Side-Tabs a').click(function() {
    var lastclicked;
    var clicked = $(this).attr('href');
    if (clicked == "#Map-Selection-Info-Close") {
        // functions 
    } else if (clicked == "#Map-Selection-Info-Open") {
        // functions
    } else {
        lastclicked = clicked;
    }
    alert(lastclicked);
});

これが、同様の解決策を見つけようとしている他の人に役立つことを願っています。

よろしくお願いします、

ティム

于 2013-04-02T20:02:03.930 に答える