Knockout.jsでカルーセルコンポーネントを作成したいと思います。jsfiddle.netからノックアウトカルーセルの例をフォークしました。KOカルセルの例が動作しない
HTML::
<!-- start main slider carousel -->
<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="false">
<!-- main slider carousel items -->
<!-- ko foreach:imagePaths -->
<div class="carousel-inner">
<div data-bind='attr:{"data-slide-number": $index, "class": "item" }, css: {"active": $index() == 0}'>
<img data-bind='attr:{src: link, height: 200, width: 132, "class": "img-responsive", alt: alt }' />
</div>
</div>
<!-- /ko -->
<!-- main slider carousel nav controls -->
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<!-- end main slider carousel-->
<!-- start thumb navigation carousel -->
<div class="col-md-6 offset-top_1" id="slider-thumbs">
<!-- thumb navigation carousel items -->
<ol class="list-inline">
<!-- ko foreach:imagePaths -->
<li data-bind="attr: { 'data-slide-to': $index }">
<a data-bind='attr:{"id": "carousel-selector-"+ $index() }'>
<img data-bind="attr:{src: link, height: 20, width: 12, alt: alt }" />
</a>
</li>
<!-- /ko -->
</ol>
</div>
<!-- end thumb navigation carousel -->
にはJavaScript:ここでのソースコードである
var Image = function (data) {
var self = this;
self.alt = data.alt;
self.link = data.link;
self.title = data.title;
self.active = data.active;
};
var CarouselViewModel = function (params) {
var self = this;
self.selectedImageIndex = ko.observable(params && params.selectedImageIndex || 0);
self.imagePaths = ko.observableArray(params && params.imagePaths || []);
self.addImage = function(img) {
self.imagePaths.push(img);
};
}
var viewModel = new CarouselViewModel({selectedImageIndex: 0, imagePaths: [] });
ko.applyBindings(viewModel);
viewModel.addImage({
alt: 'yellowstone-77',
link: 'https://pshabalin.files.wordpress.com/2013/01/yellowstone-77.png',
title: 'yellowstone-77'});
viewModel.addImage({
alt: 'yellowstone-77',
link: 'https://pshabalin.files.wordpress.com/2013/01/yellowstone-58.png',
title: 'yellowstone-58'});
viewModel.addImage({
alt: 'yellowstone-77',
link: 'https://pshabalin.files.wordpress.com/2013/01/img_1082.png',
title: 'img_1082.png'});
viewModel.addImage(
{alt: 'yellowstone-77',
link: 'https://pshabalin.files.wordpress.com/2013/01/dscn2295.png',
title: 'dscn2295'});
は、私はそれが正常に動作させることはできません。誰も私がこれを解決するのを助けることができます。
コードを実行した結果はどうなりますか?結果やエラーを含めてください。 – nateyolles
@nateyollesエラーはありませんが、期待どおりに動作しません。コードを実行した結果を確認するには、jsfiddle参照リンクに従ってください。 –