将图片动态添加到Photoswipe

时间:2013-07-17 15:22:02

标签: javascript jquery

我正在尝试将图片(从数组中)动态添加到photoswipe。我试图使用jquery的“追加”方法而没有成功。我也在网上写了关于这个问题的所有人,但我没有找到严格的答案。欢迎任何帮助。

1 个答案:

答案 0 :(得分:1)

我找到了一种动态添加图片到photoswipe的方法,但它有点像hackish。

必须要做三件事:

  1. 更新originalImages(不知道这是多么重要)。
  2. 为所有图片添加点击处理程序。
  3. 将所有图像添加到instance.cache.images。
  4. 我使用以下代码完成了此操作:

            var images, image, i, metaData, src,caption,
            Util =window.Code.Util;
            images=$('#addedImages').find('a');
            instance.originalImages = $('#all-photo-swipe-images').find('.a');
            for (i = 0; i < images.length; i++) {
                image = images[i];
                src = instance.settings.getImageSource(image);
                caption = instance.settings.getImageCaption(image);
                metaData = instance.settings.getImageMetaData(image);
                image.__photoSwipeClickHandler = PhotoSwipe.onTriggerElementClick.bind(instance);
                Util.Events.remove(image, 'click', image.__photoSwipeClickHandler);
                Util.Events.add(image, 'click', image.__photoSwipeClickHandler);
                image = new PhotoSwipe.Image.ImageClass(image, src, caption, metaData);
                instance.cache.images.push(image);