我正在制作一个简单的音乐播放在线应用。我想制作一个歌曲播放列表,我希望播放列表中的歌曲可以排序。我打算使用jQuery“sortable”插件。但是,我想跟踪歌曲的顺序,这样当一首歌结束时,我知道下一首歌要开始。我不是创建一个事件处理程序,以便在用户更改歌曲顺序时执行,并实际跟踪歌曲的顺序,我目前的解决方案就是这样:
这个实现有错误吗?不断追踪歌曲的顺序会不会更好?
答案 0 :(得分:2)
似乎完全合适,我实际上在完全不相关的网站上使用完全相同的方法。这是我为了获得下一个身份而做的事情,我知道你说你已经有了一些工作,但我认为无论如何我都会分享以防它有用:
current_id = window.my_id;
next_id = $('#' + current_id).next().attr('id');
if (next_id == undefined) {
return; // no more siblings after it
}
// do what you need to do here with next_id to actually load the next content
// in my web apps case, it removes some elements and just changes the hash
// which another function handles
current_id = next_id;
window.my_id = current_id;
答案 1 :(得分:1)
这没有什么不妥。它节省了必须保留订单的Array
,这需要按照重新订购进行更新,而不是仅在需要时读取下一首曲目(在前一曲目结束时)。