2017-05-26 5 views
1

私はJoomlaを使ってウェブサイトを作成していますが、このウェブサイトにはいくつかのトラックプレビューが利用できるセクションがあります。今まで私は要素を作成し、それぞれを個別に再生しました。しかし、今私はDivの幅を増やす関数をPHPの動的作成のためにプレイ位置に応じて作成しようとしていますが、このdivを拡大する動的関数を作成する必要があります。動作しません。オンタイム更新機能を作成しようとしています

<audio preload="metadata" id="<?php echo $videoid; ?>" class="preview play" ontimeupdate='updateTrackTime(this);'> 
     <source src="<?php echo $video; ?>" type="audio/mp3"/> 
</audio> 
<div class="player play"> 
    <div id="<?php echo $videoid; ?>play" class="chargebar"></div> 
</div> 

これは はその後、私はjQuery(document).ready(機能外の小さな関数を作成したプレイヤーを作成するPHPです。

function updateTrackTime(track){ 
    var perc = Math.floor((track.currentTime/track.duration)*100).toString()+'%'; 
    var currTime = perc; 
    var trackid = jQuery(event.target).attr('id'); 
    trackid = trackid+'play'; 
    var currDiv = jQuery(trackid); 
    perc = 'width : '+perc; 
    if (currTime == '2%'){ 
     alert(trackid); 
     alert(currDiv.attr('id')); 
    } 
} 

私は、何が起きているのかを理解するためにデバッグしようとしていました。 trackid答え正しく(exemple:HVOHfDJSOBRM)が、私は彼が右の「chargebar」本部(currDiv)を見つけ、確認を要求したとき答えはundifined

答えて

0

問題は、あなたに#を追加するのを忘れていることですIDがtrackidの要素を選択することを示す、jQueryの引数です。 More information

それを修正する必要があり
var currDiv = jQuery('#' + trackid); 

変更

var currDiv = jQuery(trackid); 

他の注記:を使用し、変数eventはどこにも定義されていません(少なくともここに表示されているコードには含まれていません)。明らかにそれはあなたのために働いていますが、私はそれをvar trackid = track.id;に変更することをお勧めします。これは時間更新がトリガーされたトラックからID属性を読み取るだけです。

関連する問題