1

http://www.associationtsunami.org/サイトで、ドキュメント上でマウスダウンを行うと、ユーザーがマウスを動かす方向に応じて立方体が回転します。

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

key code ...
).bind('mousedown touchstart', function (evt) {
        delete mouse.last;
        if ($(evt.target).is('a, iframe')) {
          return true;
        }
        evt.originalEvent.touches ? evt = evt.originalEvent.touches[0] : null;
        mouse.start.x = evt.pageX;
        mouse.start.y = evt.pageY;
        $(document).bind('mousemove touchmove', function (event) {
          dragging = 1;
          // Only perform rotation if one touch or mouse (e.g. still scale with pinch and zoom)
          if (!touch || !(event.originalEvent && event.originalEvent.touches.length > 1)) {
            event.preventDefault();
            // Get touch co-ords
            event.originalEvent.touches ? event = event.originalEvent.touches[0] : null;
            $('.viewport').trigger('move-viewport', { x: event.pageX, y: event.pageY });
          }
        });
        $(document).bind('mouseup touchend', function () {
          dragging = 0;
          $(document).unbind('mousemove touchmove');
        });
      });

フルコードhttps://github.com/AssociationTsunami/tsunami/blob/gh-pages/js/cube.js#L72

ユーザーがスクロールバーをマウスダウンした場合、このイベントを無効にします。たとえば、[ONSONPARLA]ページには、アコーディオンのあるタブがあります。アコーディオンコンテンツのいずれかを開くと、端または内にスクロールバーが表示されます。アコーディオンとスクロールバーを動かそうとすると、これも立方体を動かします。

イベントがスクロールバー要素上にある場合にキューブが回転しないように、cube.jsでこれを上書きする正しい方法は何ですか?

4

1 に答える 1

0

そのような方法でそれを行うことはできません。

しかし、別の解決策があります。いくつかのカスタムスクロールバープラグインを使用して、従来のスクロールバーを置き換えます。あなたは彼の出来事を防ぐことができるでしょう。これは優れた解決策ではないことは理解していますが、あなたのWebページによると、チャンスをつかみたいとのことです。:)

ここでは、いくつかの優れたプラグインを見つけることができます。

良いプラグインの例はここにあります。

于 2012-11-24T18:35:57.700 に答える