0

まず、自分のWebサイトでSoundManagerを使用しています。

しかし、それを自分のWebサイトに追加する際に問題が発生したため、問題をよりよく理解するには、最初にWebサイトを確認してください:http://tinyurl.com/8bugpc7

ウェブサイトでサウンドマネージャーの邪魔をしようとしています。ウェブサイトはちょっと垂直スライダーです。したがって、メニューはありますが、すべてのアイテムはページの特定のクラスにリンクされています。音楽リンクは3番目のオプションです(ページ3)。しかし、360ミュージックプレーヤーを追加すると、スクラブバーが正しく機能しませんでした。つまり、バーをクリックすると、特定の場所にしか移動しません。実際、クリックしたところは再生されません。

しかし、プレーヤーをファーストクラス(最初のページ)に移動すると、スクラブバーは正しく機能します。したがって、これらの以前のクラス(ページ)には問題があると思います。

私は何時間も費やしていますが、本当に問題を理解できません。誰かが私のためにそれをチェックして、何が悪いのか教えてもらえますか?

ファイルをダウンロードする必要がある場合は、次のリンクを参照してください:http: //tinyurl.com/8q83gzu

前もって感謝します。

4

1 に答える 1

0

360player.js で呼び出される関数があります: 私にとっては 701 行目です。探す:

this.mmh = function(e) {

ここでは、カルーセルによって作成されたオフセットが原因で、deltaX 変数が正しく計算されていません。この同じオフセットを deltaX 変数から差し引くことで、自分のページの問題を解決しました。これを変更する疑似コードを含む新しい関数を次に示します。

this.mmh = function(e) {
  /**
   * Here you need to find the offset from the left of the page
   * and assign it to a variable. In your case, it is simply the window's
   * width multiplied by 2.
  */
  offSet = 2 * $(window).width();
  if (typeof e === 'undefined') {
    e = window.event;
  }
  var oSound = self.lastTouchedSound,
      coords = self.getMouseXY(e),
      x = coords[0],
      y = coords[1],
      /* here you subtract your offset and scrubbing should work again */
      deltaX = x-(oSound._360data.canvasMidXY[0]-offSet),
      deltaY = y-oSound._360data.canvasMidXY[1],
      angle = Math.floor(fullCircle-(self.rad2deg(Math.atan2(deltaX,deltaY))+180));
  oSound.setPosition(oSound.durationEstimate*(angle/fullCircle));
  self.stopEvent(e);
  return false;
};
于 2013-03-18T23:46:16.820 に答える