Fotorama用另一个替换图像

时间:2015-05-28 04:18:54

标签: javascript fotorama


你好!

我不知道为什么,但我不能做这个主题

这是我的初始化代码,它可以正常工作

i <= j

当我试图获取另一张图片而不是我正在使用它时

var drawRootList = function (folders) {
    img = "";
    if (folders.length > 0) {
        for (i = 0; i < folders.length; i++) {
            img += "<img src='http://icons.iconarchive.com/icons/iconshock/free-folder/256/folder-images-icon.png' data-caption='" + folders[i] + "' >";
        }
    }
    $('.fotorama').html(img).fotorama();
    bindListeners();
}

但它不起作用

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我终于解决了它

我应该在mycanvas&#39;上使用.empty方法。父,然后再次构建所有结构并在此函数中初始化fotorama

List<? extends Number>

答案 1 :(得分:0)

尽管tfiwsrets的解决方案可能有效(尚未测试),但这不是最佳方法,因为它不仅需要更新Fotorama,还需要删除Fotorama html元素,然后重新添加它

我发现您实际上可以从Fotorama对象中删除数据并重新初始化它,如下所示:

// the urls to add
let image_urls = ["https://www.google.com/url?sa=i&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTabby_cat&psig=AOvVaw3MDEtAr8UjBK26A3zWk9l7&ust=1601377715230000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCKj7roHbi-wCFQAAAAAdAAAAABAD"];

// format the urls as a data object which can be passed to initialise the fotorama (as seen in the doc)
let data = [];
for (image of images) {
    data.push({img: image});
}

// the fotorama object in question
const fotorama = $('.fotorama');

// remove previous contents of the fotorama
fotorama.removeData();

// reinitialise fotorama with the new data
fotorama.fotorama({
    data: data
});