首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JQuery javascript Galleria IO拼接

JQuery javascript Galleria IO拼接
EN

Stack Overflow用户
提问于 2013-09-19 14:31:24
回答 1查看 553关注 0票数 1

我有一个使用IO的画廊,一切都运行得很顺利,但当我尝试删除画廊上的选定图像时,我遇到了一个问题。

下面是我使用的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var gallery  = $('#galleriaID').data('galleria');
var index = gallery.getIndex();
gallery.splice(index,1);
gallery.next();

一切都运行得很顺利,但是当我尝试删除图库中的penultimate图像时,它并没有被移除,而且图库在我正在观察的控制台中是blocked

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TypeError: data is undefined
version "+version+" to use one or more components.";if(Galleria.version<version...
galler...BC32189 (line 3)
TypeError: self.getData(...) is undefined

我知道我只是试图删除画廊中的penultimate图像,我做错了什么,有一些解决方法??

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2013-10-24 14:33:27

我自己也一直在解决同样的问题,并且有一个合理的变通方法,使用与galleria-1.3.js一起工作的show()setIndex()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var galleria = $('#galleria').data('galleria');
var galleriaLength = galleria.getDataLength();
var currentIndex = galleria.getIndex();
var nextIndex = (currentIndex == galleriaLength - 1) ? 0 : currentIndex + 1;

// Remove the image from the Galleria film slideshow
galleria.splice(currentIndex, 1);

if (galleriaLength > 1) {
  // Need to use show() and setIndex() because next() doesn't work on the
  // penultinate image.
  galleria.show(nextIndex);
  galleria.setIndex((nextIndex == 0) ? 0 : nextIndex - 1);

  // Set a delay of 50ms because there seems to be a race condition
  // of trying to preload images that haven't been spliced out of
  // the gallery yet (working theory).
  galleria.lazyLoadChunks(10, 50);

  // Hack to set the counter because setCounter() isn't working here
  $('.galleria-counter .galleria-current').html(indexToSet + 1);
} else {
  // Destroy Galleria when there are no more images
  galleria.destroy();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18897535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文