我的搜索脚本使用 while
列出了 10 个来自 MySQL 的 MP3 结果。我想在用户单击"播放"按钮时打开播放器,然后将文本更改为"停止"。
在下面的脚本中,每件事都工作正常,但它仅适用于第一个结果。如果我单击其他结果,它们只会播放第一个结果。如何切换所有搜索结果上的"播放/停止"按钮?
Javascript:
<script language="javascript">
function toggle() {
var ele = document.getElementById("player");
var text = document.getElementById("playtext");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "Play";
} else {
ele.style.display = "block";
text.innerHTML = "Stop";
}
}
</script>
.PHP:
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)) {
$title = $results['title'];
$download = $results['url'];
$album = $results['album'];
$size = $results['size'];
echo '<div id="song_html">';
echo '<div class="left">';
echo $size;
echo '</div>';
echo '<div id="right_song">';
echo '<div style="font-size:15px;"><b>'.$title.'</b></div>';
echo '<div style="font-size:12px;"><b>Movie : <a href=search.php?search='.urlencode($album).'><font color="blue">'.$album.'</font></a></b></div>';
echo '<div style="float:left; height:27px; font-size:13px; padding-top:2px;">';
echo '<div style="float:left; height:27px; font-size:13px; padding-top:2px;"><b><a href='.$download.'><font color="green">Download</font></a></b></div>';
echo '</div>';
echo '<a id="playtext" href="javascript:toggle();">Play</a>';
echo '<div id="player"><h1>Player</h1></div>';
echo '</div>';
echo '</div>';
}
}
.CSS:
#playtext
{
padding-left:10px;
float:left;
height:27px;
font-size:13px;
padding-top:4px;
}
#player
{
display: none;
}
如前所述,ID正在出错。Javascript检测到多个,它只会用于第一个匹配项。
如果你要使用jQuery,我推荐它,制作ID的类。
然后,在 $(document).ready(function() {});
中,您可以创建一个$(".the_class").on("click", function(){});
并在此处插入所需的切换开关。