php - 用PHP分别定义多个

  显示原文与译文双语对照的内容
88 4

我正在尝试创建一个支持. ogg 和. mp3 来支持多个浏览器音频支持的声音。 一个div只需要显示. ogg 文件,而另一个div应该显示. mp3 文件。 但是它最终显示两个div的文件类型。


<?php
 $files1 = glob("audio/soundboard/*.ogg");
 $files2 = glob("audio/soundboard/*.mp3");
?>

<script>
$(function() {
 $("audio").removeAttr("controls").each(function(i, audioElement) {
 var audio = $(this);
 audio.closest('div').append($('<button>'+audio.attr("title")+'</button>').find('button').click(function() {
 audio[0].play();
 }));
 });
});
</script>

 <div id="ffchrome">
 <?php foreach($files1 as $file) {?>
 <?php $title = str_replace(".ogg","", str_replace("audio/soundboard/","", $file));?>
 <audio src="<?php echo $file;?>" title="<?php echo $title?>"></audio>
 <?php }?>
 </div>

 <div id="ie">
 <?php foreach($files2 as $file) {?>
 <?php $title = str_replace(".mp3","", str_replace("audio/soundboard/","", $file));?>
 <audio src="<?php echo $file;?>" title="<?php echo $title?>"></audio>
 <?php }?>
 </div>

时间: 原作者:

63 4

把这个放在文档的顶部,并删除你的div中的所有当前的javascript:


$(function() {
 $("audio").removeAttr("controls").each(function(i, audioElement) {
 var audio = $(this);
 audio.parent().append($('<button>'+audio.attr("title")+'</button>').click(function() {
 audio[0].play();
 }));
 });
});

你的错误是在页面的每一个音频中运行"每个( )的method方法 several 。

另外,用。bind替换. click 也许是个好主意( 但是你需要参考这个文档) 。

原作者:
...