5

「WhatsPlaying」情報バーを備えた変更されたjPlayerがあります。

情報バーには、PHPファイルからのエコー情報が表示されます。

そのプレーヤーバーの情報にスクローラーを添付する必要がありますが、それを釘付けにできないようです。

スクローラーは別のjsファイルにあります。

http://www.maxvergelli.com/jquery-scroller/

jQuery:

getCurrentTrack();

$('.now_playing').SetScroller({
    velocity: 50,
    direction: 'horizontal',
    startfrom: 'right',
    loop: 'infinite',
    movetype: 'linear',
    onmouseover: 'pause',
    onmouseout: 'play',
    onstartup: 'play',
    cursor: 'pointer'
});

function getCurrentTrack() {
    $('.now_playing').load('/player/readerPlayer2.php');
    setInterval(function() {
        $('.now_playing').load('/player/readerPlayer2.php');
    }, 9000);
};​

PHP情報:

<?php
header("Expires: Tue, 03 Jul 2040 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$xml = simplexml_load_file("http://**.**.**.**:8000/live.xspf"); 

foreach ($xml->trackList->track as $data) { 
    $radio = $data->location;
    $song  = $data->title;  
    $info = $data->listeners;   
}
echo '<div class="IceSong">'.$song.'</div>';
?>
4

1 に答える 1

1

ブラウザコンソールで出力を探してみましたか?

これを試したところ、ロードURIから最初のスラッシュを削除するとうまくいくようです。

getCurrentTrack関数は、再宣言するのではなく、setIntervalから再度呼び出すことができることに注意してください。

    function getCurrentTrack() {
        $('.now_playing').load('player/readerPlayer2.php');
        setInterval(getCurrentTrack, 9000);
    }

もう1つ指摘すべきことは、関数宣言の後にセミコロンは必要ないということです。詳細については、JavaScriptのすべての関数の後にセミコロンを使用する必要がある理由の回答を参照してください。

お役に立てば幸いです。どうやって乗るか教えてください。

于 2012-12-20T11:00:21.913 に答える