0

我的页面中显示了一个歌曲列表,但我找不到为什么它在页面的第一首歌曲上不起作用。代码非常简单,我已经两次或三次检查了所有内容。甚至 errorAlerts 也没有收到任何错误。我在页面中有 20 个元素,我已经为歌曲添加了错误的路径,在这种情况下,我显示了一个错误,但我知道当前代码适用于除第一个元素之外的所有元素,原因不明没有触发“就绪:函数(事件)”

这是代码:

<?php

    $count = 1;
    foreach( $all_songs as $songs){

?>
    <script type="text/javascript">
        $(document).ready(function(){

            $("#jquery_jplayer_<?php echo($count);?>").jPlayer({

            ready: function (event) {

                $(this).jPlayer("setMedia", {

                    m4a:"uploads/audio/<?php echo($songs->audio_filename);?>"//,

                    //mp3:"uploads/audio/<?php //echo($songs->audio_filename);?>",

                    //oga:"uploads/audio/<?php //echo($songs->audio_filename);?>"
                });

            },


            play: function() {
                $(this).jPlayer("pauseOthers");
            }, 

            swfPath: "js",

            supplied: "m4a, mp3, oga",

            cssSelectorAncestor: "#jp_container_<?php echo($count);?>",

            wmode: "window",

            smoothPlayBar: true,

            errorAlerts: true,

        keyEnabled: true

        });

    });
</script>
<?php
        $count++;
    }
?>

非常感谢你帮助我。

亚历克斯

4

1 回答 1

0

嗯,您在 php foreach 中有 javascript 代码,这意味着您有多个 jplayer 实例,这些实例可能会与交互发生冲突。我的建议是创建一个playlist javascript array包含所有歌曲的,通过这种方式你避免创建一个 foreach 循环

于 2013-10-21T20:08:50.947 回答