同じインスタンスの別のプロパティ オブジェクトの値を使用して JavaScript プロパティ オブジェクトを設定する必要があります。実際、私は以下のオブジェクトを持っています:
var PLAYER = {
slides: {
{ slide_id: 60, slide_content: 'content for slide 1', type: 'slide' },
{ slide_id: 65, slide_content: 'content for slide 2', type: 'slide' },
{ slide_id: 70, slide_content: 'content for slide 3', type: 'slide' },
{ qId: 4, question: 'question text', after_slide: 70, type: 'question' },
{ slide_id: 74, slide_content: 'content for slide 5', type: 'slide' }
},
currentSlide: 0,
container: false,
currentCarouselSlide: 0,
carousel: {},
}
今、私は次のような配列を持っています:
var carouselRandomSlides = [60,70];
オブジェクトの後半で、PLAYER
このようにスライドをフィートチングする関数があります
<script>
fetchSlide: function(index,increment) {
var _this = this;
$.post('/player/fetchSlide', { slideContent: _this.slides[index] }, function(response){
increment ? (increment == 'increase' ? _this.currentSlide++ : _this.currentSlide--) : null;
$(_this.container).html(response);
if (_this.slides[index].qId) {
this.questions.correctAnswer = _this.slides[index].correct_answer;
$.each(_this.slides[index].carousel, function(i,slideId) {
_this.carousel[++i] = _this.slides[slideId];
});
}
else {
_this.questions.correctAnswer = false;
_this.carousel = {};
}
console.log(_this.carousel);
});
},
</script>
この関数では、現在のスライドが質問であるかどうかをテストしています。質問である場合は、スライドとif (_this.slides[index].qId)
を含むカルーセルを動的に作成しようとします。再生するスライドがないか、2 つ以上ある場合があります。これは私次第ではありません。以下のコード部分でうまくいくはずです60
70
$.each(_this.slides[index].carousel, function(i,slideId) {
_this.carousel[++i] = _this.slides[slideId];
});
しかし、実際には私が必要と_this.slides[slideId]
するのと同じです_this.slides[60]
_this.slides[1]
slide_id: 60
上記の$.each()
関数に含まれるオブジェクトを取得するにはどうすればよいですか?
前もって感謝します!