Ste*_*ris 7 javascript jquery html5 carousel materialize
我试图从Flickr图片动态构建一个Materialise轮播(不是滑块),但我无法让图片改变.显示的图片总是从Flickr拍摄的最后一张照片,所以我觉得有些东西在滚动,但它不会像旋转木马那样继续旋转.
我已经在SO和Google上寻找答案,但99%的信息都是特定于Bootstrap的.我已经在第一个项目中添加了一个活动类,并尝试从html内部和javascript中初始化轮播,但似乎都没有帮助.这是html代码:
<div class="carousel initialized" id="flickrPic"></div>
Run Code Online (Sandbox Code Playgroud)
和JS:
$.ajax({
type: "GET",
url: flickrApiUrl + $.param(flickrApiParams),
success: function(response) {
var flickrPetPics = response.photos.photo
for(i=0; i<flickrPetPics.length; i++) {
var newSlide = makeFlickrCarousel(flickrPetPics[i]);
$('.carousel-item').first().addClass('active');
$('#flickrPic').carousel();
$("#flickrPic").append(newSlide);
}
}
});
function makeFlickrCarousel(photoInfo) {
var flickPicUrl = "https://farm" + photoInfo.farm +".staticflickr.com/";
flickPicUrl += photoInfo.server + "/" + photoInfo.id + "_" + photoInfo.secret;
flickPicUrl += "_q.jpg";
//Build carousel pieces
var newItem = $("<a>").addClass("carousel-item");
var flickrImg = $("<img>").attr("src", flickPicUrl);
newItem.append(flickrImg);
return newItem;
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
您应该从 carousel div 容器中删除.initialized$('#flickrPic').carousel()类,并将初始化移到 for 循环之后,如下所示:
...
for(i=0; i<flickrPetPics.length; i++) {
var newSlide = makeFlickrCarousel(flickrPetPics[i]);
$('.carousel-item').first().addClass('active');
$("#flickrPic").append(newSlide);
}
$('#flickrPic').carousel(); // <-- Initialize the carousel after the loop has created the carousel markup
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |