我正在尋找向SoundCloud自定義播放器添加上一個和下一個按鈕,可以找到它here。如何使用SoundCloud API添加上一個和下一個按鈕
如果檢查出SoundCloud Widget Methods你可以看到它具有:
prev();
next();
只是爲了更具體,我與播放列表的工作,我不知道如何納入JavaScript本文件,以便它與播放器掛鉤?
我正在尋找向SoundCloud自定義播放器添加上一個和下一個按鈕,可以找到它here。如何使用SoundCloud API添加上一個和下一個按鈕
如果檢查出SoundCloud Widget Methods你可以看到它具有:
prev();
next();
只是爲了更具體,我與播放列表的工作,我不知道如何納入JavaScript本文件,以便它與播放器掛鉤?
嗯,這是正確的,你鏈接到頁面頂部:
這個腳本公開SC.Widget(/ iframeElement | iframeElementID /) 功能全局範圍。它允許您從父頁面(小部件插入的頁面)控制 的小部件。 SC.Widget 接受對iframe元素或其id的引用。
這意味着(如也從文檔的引用):
var iframeElement = document.querySelector('iframe');
var iframeElementID = iframeElement.id;
var widget1 = SC.Widget(iframeElement);
var widget2 = SC.Widget(iframeElementID); //both widgets seem to be the same it's just two ways of accessing them
然後你propably只需要做:
widget1.prev();
編輯:
既然你使用自定義播放器(沒有documented interface),而不是你可以使用我無恥地從這裏複製的方法的HTML5控件:https://gist.github.com/1509934
使用這樣的功能:
function getNextTrack(node) {
var $player = $(node).closest('.sc-player'),
$nextItem = $('.sc-trackslist li.active', $player).next('li');
// try to find the next track in other player
if(!$nextItem.length){
$nextItem = $player.nextAll('div.sc-player:first').find('.sc-trackslist li:first');
}
return $nextItem;
};
要獲得它是與當前「nextTrack」的項目,然後用jQuery的或別的東西觸發該鏈接的點擊:
var currentNext = getNextTrack($('.sc-player').first()[0]);
$(currentNext).trigger('click');
曾在我的控制檯罰款....
編輯2
只是爲了澄清,這工作!我所做的只是添加一個與類'sc-next'的鏈接並且寫下了這個:
$('.sc-next').live('click', function(event) {
var currentNext = getNextTrack($('.sc-player').first()[0]);
$(currentNext).trigger('click');
});
感謝這個傢伙!我最終做的是:
$('a.sc-next').live('click', function(event) {
var $player = $(this).closest('.sc-player'),
$nextItem = $('.sc-trackslist li.active', $player).next('li');
$nextItem.click();
return false;
});
$('a.sc-prev').live('click', function(event) {
var $player = $(this).closest('.sc-player'),
$nextItem = $('.sc-trackslist li.active', $player).prev('li');
$nextItem.click();
return false;
});
雖然我沒有使用html5小部件,但我正在使用自定義播放器。我只引用了小部件API,因爲我注意到它有next()和prev(),不確定它是否有用。看看我發佈的第一個鏈接的來源。 – ndimatteo 2012-03-25 15:21:44
@NickD好吧,我很困惑,因爲你的第二個鏈接指向HTML小部件文檔...文檔沒有聲明任何東西,但我想你總是可以做這樣的事情:https://gist.github.com/1509934並觸發點擊下一個鏈接。 – m90 2012-03-25 15:35:11
@NickD查看我的編輯 – m90 2012-03-25 15:41:26