2

オーディオ プレーヤーのスライダーに jQuery スライダー UI を使用していますが、変数を設定するとスライド機能が機能しません。

$('.body_container .slider').slider({

  value: 0,
  step: 0.01,
  orientation: "horizontal",
  range: "min",
  max: song.duration,
  animate: true,  

  slide: function(event,ui) {             
    manualSeek = true;
  },
  stop:function(event,ui) {
    manualSeek = false;         
    song.currentTime = ui.value;
  }
});

firebug では、エラーが発生しますclosestHandle is undefinedclosestHandlejQuery UI ファイルから出てきます。

ただし、関数にオプションを設定せずにイベントをそのままにしておくと機能しますが、明らかにオプションを設定する必要があります。

$('.body_container .slider').slider({

  slide: function(event,ui) {             
    manualSeek = true;
  },
  stop:function(event,ui) {
    manualSeek = false;         
    song.currentTime = ui.value;
  }
});
4

2 に答える 2

9

少し遅れましたが、song.duration が数値であることを確認してください。確かに parseFloat() を使用できます。

于 2013-04-30T09:16:40.647 に答える
1

song.duration が定義されていないと思います。

次の行を削除してみてください。

max: song.duration,

またはこれに置き換えます:

max: 100,

動作していないのが song.duration である場合は、firebug を使用console.log(song.duration);してその変数の内容をデバッグしてみてください。

于 2012-11-04T06:06:14.177 に答える