0

私はjQueryに取り組んでおり、グラフをレンダリングしています。その中で、グラフの左右両方にスクロール可能な矢印があります。私の要求された機能は次のとおりです。

  • データが増え、右矢印をクリックすると、スクロール可能な左矢印が自動的に表示されます。
  • それ以上データがない場合、右ボタンは非表示にする必要があります。
  • スクロールするのに十分なデータがない場合は、左ボタンを非表示にする必要があります。
  • 要約すると、ボタンは使用できる場合にのみ使用可能にする必要があります。

これまでの私のコードは次のとおりです。

$(function() {
    var $box2 = $('.column'), totalWidth = 900, cursor = 0;

    $("#rightarrrowbutton").click(function() {
        if (cursor != totalWidth) {
            $box2.animate({
                marginLeft : "-=15"
            }, "fast");
            cursor += 100;
        }
    });
    if ($("#rightarrowbutton").click(){
        $('#leftarrowbutton').click(function() {
            if (cursor != 0) {
                $box2.animate({
                    marginLeft : "+=15"
                }, "fast");
                cursor -= 100;
            }
        });
    });
}
4

3 に答える 3

0

クリック ハンドラーをアタッチしたり削除したりするのではなく、必要に応じてページの読み込みやボタンを追加するだけ.hide()です.show()

$('#rightarrowbutton').click() {
    // do your stuff
    if (/*there's no more stuff to the right*/) {
        $('#rightarrowbutton').hide();
    }
    $('#leftarrowbutton').show();
}

左ボタンについても同様です。

于 2013-06-11T13:56:41.403 に答える
0

あなたの説明が可視性について語っていることは知っていますが、質問のタイトルは有効化について言及しています。無効にするに"disabled"は、<button>要素に属性を配置できます。存在する場合は無効になり、存在しない場合は有効になります。.click()したがって、コールバック中にプロパティを削除または追加できます。

例えば:

$("#leftarrowbutton").click(function ()
{
    // if meets ending criteria
    if (true)
    {
        // enable other button
        $("#rightarrowbutton").removeAttr("disabled");

        // disable current button
        $("#leftarrowbutton").attr("disabled", true);
    }
});
于 2013-06-11T14:19:43.073 に答える