gpt4 book ai didi

jquery - .next() .prev() 遍历多个
元素

转载 作者:行者123 更新时间:2023-12-02 23:54:45 28 4
gpt4 key购买 nike

我正在制作一个简单的 HTML5 音频播放列表 (audio.js),它会更改为 Wordpress 中的下一首歌曲 <article ul li>邮政。所以我在遍历多个 <article> 时遇到了一些麻烦。标签和检索<ul li> .next() 上的每个和 .prev() .我开始认为使用这些选择器不是最好的解决方案。

<script>
$(function() {
// Setup the player to autoplay the next track
var a = audiojs.createAll({
trackEnded: function() {
var next = $('article ul li').next();
var title = $('img', this).attr("title");
$("a.songtitle").text(title);
if (!next.length) next = $('article ul li').first();
audio.load($('a', next).attr('data-src'));
audio.play();
}
});

// Load in the first track
var audio = a[0];
first = $('article ul a').attr('data-src');
$('article ul li').first();
audio.load(first);

// Load in a track on click
$('article ul li').click(function(e) {
e.preventDefault();
var title = $('img', this).attr("title");
$("a.songtitle").text(title);
audio.load($('a', this).attr('data-src'));
audio.play();
});
// Keyboard shortcuts
$(document).keydown(function(e) {
var unicode = e.charCode ? e.charCode : e.keyCode;
// right arrow
if (unicode == 39) {
var next = $('article ul li').next();
if (!next.length) next = $('ul li').first();
next.click();
// back arrow
} else if (unicode == 37) {
var title = $('img', this).attr("title");
$("a.songtitle").text(title);
var prev = $('article ul li').prev();
if (!prev.length) prev = $('article ul li').last();
prev.click();
// spacebar
} else if (unicode == 32) {
audio.playPause();
}
})
});
</script>

如何更改此代码以在多个 <article ul li> 之间切换标签跳到下一首/上一首歌曲?任何帮助将不胜感激!谢谢!

编辑:
这就是我想要做的。但正如您所见,它并没有跳过每个 <article ul li> 的歌曲。标签。 Audio.js 自动查找所有 <a>标记并获取 data-src加载歌曲的属性。 http://jsfiddle.net/UkrZx/

最佳答案

JSFIDDLE

 $(function() { 
// Setup the player to autoplay the next track
var a = audiojs.createAll({
trackEnded: function() {
var next = $('article > ul li.playing').next();
var title = $('img', this).attr("title");
$("a.songtitle").text(title);
if (!next.length) next = $('article > ul li').first();
audio.load($('a', next).attr('data-src'));
audio.play();
}
});

// Load in the first track
var audio = a[0];
first = $('article > ul li a').attr('data-src');
$('article > ul li').first();
audio.load(first);

// Load in a track on click
$('article > ul li').click(function(e) {
e.preventDefault();
var title = $('img', this).attr("title");
$("a.songtitle").text(title);
audio.load($('a', this).attr('data-src'));
audio.play();
});
// Keyboard shortcuts
$(document).keydown(function(e) {
var unicode = e.charCode ? e.charCode : e.keyCode;
// right arrow
if (unicode == 39) {
var next = $('article > ul li.playing').next();
if (!next.length) next = $('article > ul li').first();
next.click();
// back arrow
} else if (unicode == 37) {
var title = $('img', this).attr("title");
$("a.songtitle").text(title);
var prev = $('article > ul li.playing').prev();
if (!prev.length) prev = $('article > ul li').last();
prev.click();
// spacebar
} else if (unicode == 32) {
audio.playPause();
}
})
});

您似乎在尝试修改 THIS SCRIPT我希望我能更多地了解 Wordpress 或 AUDIO.JS 脚本来帮助你。它似乎不想识别父级之外的任何东西 <li>但我可以让它在你的代码中播放第二首歌。祝你好运,我希望这会有所帮助。

编辑 小成就......通过一些编辑(和更新的 fiddle ),我可以让它播放两首歌曲,但只能使用左箭头。很奇怪,我知道.. 但这是进步。

关于jquery - .next() .prev() 遍历多个 <article> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17666223/

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