Soundcloud API를 사용하여 동일한 페이지에 여러 트랙을 나열하려고합니다.API 참조를 사용하여 올바른 개별 데이터를 가져 오도록 각 DIV를 반복하고 싶습니다. 그러나 그것은 똑같은 데이터를 각 div에 가져옵니다 (같은 삽화, 같은 오디오 등). /tracks
API ID 참조에 대한 변수의 콘솔 로그를 작성하면 각 div를 올바르게 루프하고 다른 ID를 올바르게 나열합니다. 올바른 ID를 가져온 다음 중복 데이터를 가져 오는 이유는 무엇입니까? Soundcloud API에서 중복 데이터를 반환하는 각 루프
$(document).ready(function() {
// Loop over each mix
$(".mix").each(function(){
// Set the mix ID as a variable
var mixID = $(this).data("mix");
// Test it's getting correct unique track ID's
console.log($(this).data("mix"));
// Get the track meta data
SC.get('/tracks/'+mixID+'', function(track) {
var artwork = track.artwork_url;
var artwork = artwork.replace('-large', '-t500x500');
$(".mix__user").html(track.user.username).attr("href", track.user.permalink_url);
$(".mix__artwork").attr("src", artwork);
$(".mix__waveform").attr("src", track.waveform_url);
});
// Stream the track
SC.stream('/tracks/'+mixID+'', function(sound) {
var is_playing = false;
// Track controls
$('.mix__control').click(function(e) {
e.preventDefault();
if(is_playing === false){
sound.start();
is_playing = true;
$(this).toggleClass("is_playing").html("Pause");
} else if (is_playing === true) {
sound.pause();
is_playing = false;
$(this).toggleClass("is_playing").html("Play");
}
});
});
});
});
은 HTML의 일부 공예 CMS 템플릿 언어가있다.
{% for entry in craft.entries.section('mix') %}
<article class="mix" data-mix="{{ entry.mixId }}">
<div class="mix-meta">
<button class="mix__control ss-icon">Play</button>
<img class="mix__artwork" src="">
<img class="mix__waveform" src="">
</div>
<a href="{{ entry.url}}" class="mix-wrap">
<h1 class="mix__title">{{ entry.title }}</h1>
<time class="mix__date" datetime="2008-02-14 20:00">{{ entry.postDate.format('d F Y') }}</time>
<ol class="mix__tracklist">
{% for block in entry.tracklisting %}
{% if block.type == "tracklist" %}
<li><span class="mix__artist">{{ block.artist }}</span> - <span class="mix__track">{{ block.track }}</span></li>
{% endif %}
{% endfor %}
</ol>
</a>
</article>
{% endfor %}
나는 당신이 그러나 바로 생각 '이'당신의 예는 부모 '혼합'내가 볼 –
에 반대 같이 객체 창] 반환에. SC.get()은 우리의 컨텍스트를 변경하는 ajax 호출입니다. 괜찮아. 그 나쁜 녀석을 감옥에 넣으 러 가자. 내 답변에 대한 업데이트를 참조하십시오. –
생명의 은인. 고맙습니다 –