1

TimelineJSでは、スライド (中央のメイン パネル) が変更されるたびに発生するコールバックを実装したいと考えています。下部のタイム パネルのタイムラインのイベント。このようなコールバックに関する情報は、1 年前のIssue 82に記載されている以外に見つかりませんでした。

これから始める方法についての提案はありますか?(言い換えれば、どこから始めればよいかさえわかりません)。

4

1 に答える 1

1

Timeline JS は更新されるたびにイベントを発生させます。コードは最新バージョンの 5274 行にあります。

function upDate() {
    config.current_slide = current_slide;
    VMM.fireEvent(layout, "UPDATE");
};

fireEvent のコードは次のとおりです。

VMM.fireEvent = function(element, the_event_type, the_data) {
    var e;
    var _event_type = "click";
    var _data = [];

    if (the_event_type != null && the_event_type != "") {
        _event_type = the_event_type;
    }
    if (the_data != null && the_data != "") {
        _data = the_data;
    }

    if( typeof( jQuery ) != 'undefined' ){
        jQuery(element).trigger(_event_type, _data);

        //return e;
    }

};

次に、重要な部分があります。

jQuery(element).trigger(_event_type, _data);

したがって、要素のレイアウトが何であるかを把握するだけでよいので、一時的に upDate 関数を次のように編集します。

function upDate() {
    console.log($(layout).attr('id') + ' : ' + $(layout).attr('class'));
    config.current_slide = current_slide;
    VMM.fireEvent(layout, "UPDATE");
};

そして、要素のクラス/IDについてログに記録するものを確認してください。次に、クラスが「タイムライン」で戻ってきたとします。たとえば、次のように記述します。

$('.timeline').on("UPDATE", function() {
    your_function_that_does_whatever_you_need();
});
于 2013-04-27T15:46:54.953 に答える