Не нравятся результаты поиска? Попробуйте другой поиск!

Галлерея с категориями


     26.05.2014    Шаблоны (TPL), jQuery    1326

вопрос
Здравствуйте, существует потребность сделать галлерею с разбитую по разделам.

Все разделы на 1 странице вот код допустим 2 категорий тоесть тыкаешь по картинке и отображаются через highslide

<div class="highslide-gallery">
    <a id="thumb1" href="highslide/images/large/6.jpg" class="highslide"
            title="2232323"
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/6.jpg"  alt="111" style="
    float: left;
    margin: 20px 40px 0px 40px;" />
    </a><span class="span9">Асыл</span>
    <div class="hidden-container">
    <a href="highslide/images/large/4.jpg" class="highslide"
            title=""
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/4.jpg"  alt=""/>
    </a>
    <a href="highslide/images/large/5.jpg" class="highslide"
            title=""
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/5.jpg"  alt=""/>
    </a>
    <a href="highslide/images/large/3.jpg" class="highslide"
            title=""
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/3.jpg"  alt=""/>
    </a>
    </div>
</div>


<div class="highslide-gallery">
    <a id="thumb1" href="highslide/images/large/20140308_123312.jpg" class="highslide"
            title=""
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/20140308_123312.jpg"  alt="" style="
    float: left;
    margin: 20px 40px 0px 40px;"/>
    </a><span class="span8">Ансар</span>
    <div class="hidden-container">
    <a href="highslide/images/large/20131213_142139.jpg" class="highslide"
            title=""
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/20131213_142139.jpg"  alt=""/>
    </a>
    <a href="highslide/images/large/20140308_123153.jpg" class="highslide"
            title=""
            onclick="return hs.expand(this, config1 )">
        <img src="highslide/images/thumbs/20140308_123153.jpg"  alt=""/>
    </div>
</div>




Галлерея с категориями

Галлерея с категориями





Но в чем проблема, что тыкая на первую категорию все равно получается как одно большая галлерея(( тоесть в первой категории 3 фото во второй категории 2 фото, когда начинаешь просматривать первую категорию можно перейти сразу во 2((( Мне нужно чтоб просмотр фото был ограничен своим "контейнером"

Ответа пока нет


Комментарии пользователей (6)

D0Gmatist
225

794 | 281

D0Gmatist - 26 мая 2014 12:04 - Местный

Вам следует поставить (заменить) модуль просмотра изображение на Lightbox, и немного подточить. Там есть возможность вывода на одной странице несколько отдельных галерей.

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

adoa
23 | 1

adoa - 26 мая 2014 16:45 - Юзер

Спасибо, что откликнулись( но я рыл лайтбокс и не видел таких параметров(( можете подсказать уже неделю бьюсь над задачей(

rocksmart
64

307 | 115

rocksmart - 26 мая 2014 16:56 - Юзер

Попробуй прописать:

hs.expand(this,{slideshowGroup:'group1'})

hs.expand(this,{slideshowGroup:'group2'})

adoa
23 | 1

adoa - 26 мая 2014 17:13 - Юзер

Прописал как Вы посоветовали все категории под разные группы разбил эффект тот же)
<a id="thumb1" href="highslide/images/large/20140315_175111.jpg" class="highslide " title="" onclick="return hs.expand(this,{slideshowGroup:'group1'})">

rocksmart
64

307 | 115

rocksmart - 26 мая 2014 17:32 - Юзер

<script type="text/javascript">  
<!--  
    hs.graphicsDir = '/engine/classes/highslide/graphics/';
    hs.wrapperClassName = 'wide-border';
    hs.numberOfImagesToPreload = 0;
    hs.showCredits = false;
    hs.dimmingOpacity = 0.60;
    hs.lang = {
        loadingText :     'Загрузка...',
        playTitle :       'Просмотр слайдшоу (пробел)',
        pauseTitle:       'Пауза',
        previousTitle :   'Предыдущее изображение',
        nextTitle :       'Следующее изображение',
        moveTitle :       'Переместить',
        closeTitle :      'Закрыть (Esc)',
        fullExpandTitle : 'Развернуть до полного размера',
        restoreTitle :    'Кликните для закрытия картинки, нажмите и удерживайте для перемещения',
        focusTitle :      'Сфокусировать',
        loadingTitle :    'Нажмите для отмены'
    };
    
    hs.align = 'center';
    hs.transitions = ['expand', 'crossfade'];
    hs.addSlideshow({
        interval: 4000,
        repeat: false,
        useControls: true,
        fixedControls: 'fit',
        overlayOptions: {
            opacity: .75,
            position: 'bottom center',
            hideonmouseout: true
        }
    });
//-->
</script>



<div class="highslide-gallery">
    <a id="thumb1" href="http://film.necom.ura/uploads/posts/1364560161_53543_poster_small.jpg" class="highslide" title="2232323"
onclick="return hs.expand(this,{slideshowGroup:'group1'} )"><img src="http://film.necom.ura/uploads/posts/1364560161_53543_poster_small.jpg"  alt="111" style="float: left;margin: 20px 40px 0px 40px;" /></a>
<span class="span9">Асыл</span>
    <div class="hidden-container">
<a href="http://film.necom.ura/uploads/posts/1364560167_53498_poster_small.jpg" class="highslide" title="" onclick="return hs.expand(this,{slideshowGroup:'group1'})"><img src="http://film.necom.ura/uploads/posts/1364560167_53498_poster_small.jpg"  alt=""/></a>
<a href="http://film.necom.ura/uploads/posts/1364560218_53418_poster_small.jpg" class="highslide" title="" onclick="return hs.expand(this,{slideshowGroup:'group1'})"><img src="http://film.necom.ura/uploads/posts/1364560218_53418_poster_small.jpg"  alt=""/></a>
    </div>
</div>                    
                        
                            
    <div class="highslide-gallery">
    <a id="thumb1" href="http://film.necom.ura/uploads/posts/1364560552_53064_poster_small.jpg" class="highslide" title="2232323"
onclick="return hs.expand(this,{slideshowGroup:'group2'} )"><img src="http://film.necom.ura/uploads/posts/1364560552_53064_poster_small.jpg"  alt="111" style="float: left;margin: 20px 40px 0px 40px;" /></a>
<span class="span9">Асыл</span>
    <div class="hidden-container">
<a href="http://film.necom.ura/uploads/posts/1364562657_50653_poster_small.jpg" class="highslide" title="" onclick="return hs.expand(this,{slideshowGroup:'group2'})"><img src="http://film.necom.ura/uploads/posts/1364562657_50653_poster_small.jpg"  alt=""/></a>
<a href="http://film.necom.ura/uploads/posts/1364560552_53064_poster_small.jpg" class="highslide" title="" onclick="return hs.expand(this,{slideshowGroup:'group2'})"><img src="http://film.necom.ura/uploads/posts/1364560552_53064_poster_small.jpg"  alt=""/></a>
    </div>
</div>                        
        


Заметь что галерея начинает работать только при просмотре полной новости или в статических страницах

hs.align = 'center';
    hs.transitions = ['expand', 'crossfade'];
    hs.addSlideshow({
        interval: 4000,
        repeat: false,
        useControls: true,
        fixedControls: 'fit',
        overlayOptions: {
            opacity: .75,
            position: 'bottom center',
            hideonmouseout: true
        }
    });

adoa
23 | 1

adoa - 28 мая 2014 06:57 - Юзер

Решил всё таки проблему теперь разбиваются на категории
1) highslide.config.js создать

1)

hs.addSlideshow({
    slideshowGroup: 'group10', // сдесь создаем от 1 до 10 смотря сколько категорий на каждую отдельно
    interval: 5000,
    repeat: false,
    useControls: true,
    fixedControls: 'fit',
    overlayOptions: {
        className: 'large-dark',
        opacity: 0.6,
        position: 'bottom center',
        offsetX: 0,
        offsetY: -15,
        hideonmouseout: true
    },
    thumbstrip: {
        mode: 'horizontal',
        position: 'above',
        relativeTo: 'image'
    }

});



2)

var config13 = {                                       // номер категории
    slideshowGroup: 'group13',             // номер группы которую создали выше
    thumbnailId: 'thumb13',                  // также номер должен совпадать здесь
    numberPosition: 'caption',
    transitions: ['expand', 'crossfade']
};



2) main.tpl (у меня тут нужно)
1) прописываем
onclick="return hs.expand(this, config11)">
для всех фото в группе
2)
<a id="thumb11" href="highslide/images/large/IMG_5581.jpg" class="highslide" onclick="return hs.expand(this, config11)">



<div class="highslide-gallery">
    <a id="[b]thumb11[/b]" href="highslide/images/large/IMG_5581.jpg" class="highslide"
            title="описание"
            onclick="return hs.expand(this, [b]config11[/b] )">
        <img src="highslide/images/thumbs/IMG_5581.jpg"  alt="описание" style="
    float: left;
    margin: 20px 40px 0px 40px;"/>
    </a></a><span class="span7">описание</span>
    <div class="hidden-container">
    <a href="highslide/images/large/IMG_5593.jpg" class="highslide"
            title="описание"
            onclick="return hs.expand(this, [b]config11[/b] )">
        <img src="highslide/images/thumbs/IMG_5593.jpg"  alt="описание"/>
    </a>
    <a href="highslide/images/large/IMG_5579.jpg" class="highslide"
            title="описание"
            onclick="return hs.expand(this, [b]config11[/b] )">
        <img src="highslide/images/thumbs/IMG_5579.jpg"  alt="описание"/>
    </a>
    <a href="highslide/images/large/IMG_55742.JPG" class="highslide"
            title="описание"
            onclick="return hs.expand(this, [b]config11[/b] )">
        <img src="highslide/images/thumbs/IMG_55742.JPG"  alt="описание"/>
    </a>
    </div>
</div>


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы