gpt4 book ai didi

jquery - 附加代码以在播放歌曲时切换图像

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:12 25 4
gpt4 key购买 nike

我使用这段代码来播放和暂停歌曲样本,页面上有多个实例。我想在 song.play() 之后附加一些代码,仅将 .playback 类的此实例的背景图像更改为 pausebutton.gif,然后在再次按下按钮时再次返回到 playbutton.gif。由于页面上有多个实例,这对一个类来说可能吗?任何帮助深表感谢。谢谢。

<script type="text/javascript">
$(function() {
$(".playback").click(function(e) {
e.preventDefault();
var song = $(this).next('audio').get(0);
if (song.paused)
song.play()
else
song.pause()
});
});

<style>
.playback:link
{background:url('images/playbutton.gif');display:block;width:18px;height:18px;}
</style>

<a class="playback" href="#"></a><audio id="wonderful"><source src="audio/wonderful.mp3" type="audio/mpeg" /></audio>

最佳答案

您可以添加到您的 CSS:

.playback.playing {
background: url('images/pausebutton.gif');
}

此样式现在将引用具有类 playbackplaying 的元素。

然后在你的 JavaScript 中:

$(".playback").click(function(e) {
e.preventDefault();
var song = $(this).next('audio').get(0);
if (song.paused) {
song.play();
$(this).addClass("playing");
} else {
song.pause();
$(this).removeClass("playing");
}
});

在设置为点击时发生的函数中,$(this) 将专门引用被点击的元素(具有 playback 类)。因此,addClass 方法会将 playing 类仅应用于已播放歌曲的链接。 (在这个例子中,我还使用 removeClass 在歌曲暂停时删除了 playing 类。)

如果可能的话,一个更好的主意是将 playbutton.gif 和 pausebutton.gif 组合成一个 36x18 的图像,例如 playbackbuttons.gif,并将您的 CSS 更改为:

.playback:link {
background: url('images/playbackbuttons.gif');
display: block;
width: 18px;
height: 18px;
}

.playback.playing {
background-position: right top;
}

(JavaScript 仍然和我上面写的一样。)

这样,暂停按钮图像将在页面首次加载时加载,而不是在第一次播放歌曲时加载。

关于jquery - 附加代码以在播放歌曲时切换图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com