JQuery довольно плагин фото не показывает миниатюры в галерее

В качестве галереи изображений я использую плагин для красивых фотографий jquery. но когда я открываю фотографию, она работает хорошо, но не показывает миниатюры, вместо этого показывает фон по умолчанию, определенный в ее CSS:

Мой результат:

Мой желаемый результат:

Мой HTML:

<ul class="hover_thumb_wrap">
    <li class="hover_thumb_unit">
        <a rel="prettyPhoto[18]" class="imgwrap" title="Item Title" href="http://placehold.it/800x600" style="cursor: pointer;">
        <img width="50" height="50" alt="Item Thumbnail Alt" class="attachment-50x50" src="http://placehold.it/50x50">
        </a>
    </li>
    <li class="hover_thumb_unit">
        <a rel="prettyPhoto[18]" class="imgwrap" title="Item Title" href="http://placehold.it/400x500" style="cursor: pointer;">
        <img width="50" height="50" alt="Item Thumbnail Alt" class="attachment-50x50" src="http://placehold.it/50x50">
        </a>
    </li>

</ul>

Мой Javascript:

jQuery("#item-wrap a[rel^='prettyPhoto']").prettyPhoto({
            animationSpeed: 'normal', /* fast/slow/normal */
            padding: 15, /* padding for each side of the picture */
            opacity: 0.7, /* Value betwee 0 and 1 */
            showTitle: false, /* true/false */
            allowresize: true, /* true/false */
            counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
            //theme: 'dark_square', /* light_rounded / dark_rounded / light_square / dark_square */
            hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
            modal: false, /* If set to true, only the close button will close the window */
            callback: function() {
                var url = location.href;
                var hashtag = (url.indexOf('#!prettyPhoto')) ? true : false;
                if (hashtag) location.hash = "!";
            } /* Called when prettyPhoto is closed */,
            social_tools : ''
      });

3 ответа

Проблема в том, что PrettyPhoto проверяет URL вашего изображения. Проверьте окончание URL изображения с помощью jpg|jpeg|png|gif. Итак, решение:

1: измените URL своего изображения http://placehold.it/800x600 => http://placehold.it/800x600.jpg

2: Редактировать файл: jquery.prettyPhoto.js (версия для распаковки), строка 763: прокомментировать этот код

if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){
                    classname = 'default';
                    img_src = '';
                }else{
                    classname = '';
                    img_src = pp_images[i];
                }

и заменить на

classname = '';
img_src = pp_images[i];

Готово!

Попробуйте добавить:

overlay_gallery:true,
overlay_gallery_max:30
<script>
    $(document).ready(function(){
    $("a[rel^='prettyPhoto["18"]']").prettyPhoto({animation_speed:'normal',theme:'pp_default',slideshow:3000, autoplay_slideshow: false});
});

</script>

Добавьте этот скрипт в ваш заголовочный файл или любой другой подходящий js-файл.

Другие вопросы по тегам