0

カレンダーのページャーの左/右コントロールと月/週/日の表示ボタンを一時的に無効にしようとしています。カレンダーを完全に無効にしたくはありませんが、一部のコンテンツが更新されるまで待つ必要があるため、一時的にのみ無効にします。レンダリングされた HTML には HTML が少し含まれているので、これらの機能をプログラムで無効にするには具体的に何をすればよいのでしょうか?

4

3 に答える 3

1

ヘッダーのドキュメントごと:

ヘッダー全体のプロパティのいずれかを に設定するかfalse、デフォルトがfalse

タイトルのみの例:

header: {
    left: false,
    center: 'title',
    right: false
}

API リファレンス: http://arshaw.com/fullcalendar/docs/display/header/

于 2013-02-11T03:02:25.370 に答える
0

$(".fc-header-left span.fc-button").addClass("ui-state-disabled");、同じ.fc-header-right...

于 2013-02-11T07:34:47.663 に答える
0

私はこれを行ったと思いますが、関数ベースのイベント ソースを使用しただけなので、データをフェッチしている間、ページ全体に (データの読み込み効果/アニメーションを表示するために) div を配置し、フェッチが完了するとすぐにそれを削除しました。以下はコードです:

                var eventSource = {
                events: function (start, end, callback) {
                    showHideloader(true, '');
                    $.ajax({
                        url: "my.aspx/myEvents",
                        type: "POST",
                        headers: { "cache-control": "no-cache" },
                        data: "{mydata:blabla}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        async: true,
                        success: function (data) {
                            var events = [];
                            var dateTime = new Date();
                            var jobs = eval("(" + data.d + ")");
                            $.each(jobs, function (i, val) {
                                events.push({
                                    id: jobs[i].TaskID,
                                    title: jobs[i].title,
                                    start: new Date(jobs[i].startDate)
                                });
                            });
                            callback(events);
                            showHideloader(false, '');
                        },
                        error: function (x, e) {
                            showMessage('error', 'failure loading tasks in calendar', x, e, true);
                            showHideloader(false, '');
                        }
                    });
                }
            }//event source

    //put a div on the page to show the data loading effect
    function showHideloader(_show) {
        if (_show) {
            $('#loader').height($(window).height());
            $('#loader').width($(window).width());
            $('#loader').css('top', '0');

            $('#loader').css('left', '0');
            //setting max possible z-index value to always show it in front
            $('#loader').css('z-index', '2147483640');
        }
        $('#loader').css('display', (_show) ? '' : 'none');
    }

その中で、イベント ソース オブジェクトを作成し (カレンダー呼び出しで既に実行している場合は必要ありません)、ajax 呼び出しの直前に showHideloader を使用し、成功と失敗の両方のケースでページを有効にするために再度使用しました。

ご参考までに、ページ効果の無効化/有効化を操作するために id='loader' のダイブを使用する showHideloader のコードを含めました。

于 2013-02-11T10:09:12.693 に答える