0

プラグインoffCanvasMenuを使用して、基本的にプラグインの言うことを行います..クリックイベントとして正常に機能するオフキャンバスメニューを非表示および表示しますが、メニューが右側に表示/非表示になるようにhammer.jsを統合しようとしていますスワイプ

だから私はこれを持っています:

(function() {
    jQuery(function() {
        var $, configureMenus, menu, menuTrigger;

        $ = jQuery;
        menuTrigger = $('#menu-trigger');
        menu = $.offCanvasMenu({
            direction: 'right',
            coverage: '85%'
        });
        (configureMenus = function(display) {
            switch (display) {
                case 'block':
                menu.on();
                break;
                case 'none':
                menu.off();
                break;
                default:
                return;
            }
        })(menuTrigger.css('display'));
        menuTrigger.csswatch({
            props: 'display'
        }).on('css-change', function(event, change) {
            return configureMenus(change.display);
        });
    });
}).call(this);

上記を以下に貼り付けるとうまくいくと思いましたか?

window.addEventListener('load', function() { 
    var element = document.getElementById('body');
    var hammertime = Hammer(element).on("swipe", function(event) {
        //here
    })
}, false);

しかし、私はそれを正しく呼び出すことができませんでした。誰かがこれを行う方法を知っているかどうか疑問に思っていますか?

それが役立つ場合、基本的なマークアップは次のようなものです

<body id="body">
    <div id="menu-trigger" class="panel-arrow right"><a href="#menu">click me</a></div>

    <div id="menu" class="right-panel panel">
        <p>off canvas menu</p>
    </div>
</body>

ありがとう!

4

1 に答える 1

1

それは逆に行くべきです。スワイプ イベント リスナーをコードの最初のブロックに追加します。そして、2 番目のブロックが //here と言う場所では、menu.toggle() のようなことをする必要があります。

于 2013-06-18T19:38:44.340 に答える