Question

English is not my first language, so sorry for my mistakes ;)

I want to have all thumbnails in a block instead in a slider example (plus signs are images)

NOT:

< +++++++++ > (slider with navigation button)

I WANT:

+++++++++
+++++++++
+++

I achieve this with css (disabling white-space: nowrap; in div.fotorama__nav fotorama__nav--thumbs fotorama__shadows--right), the problem is that many of the images doesn't show by default, How can I achieve that?

I get this more or less ("+" are images, "o" are unload images)

+++++++++
+oooooooo
ooo

Is there any way to achieve my porpouse with fotorama? Thank tou so much

Était-ce utile?

La solution

You have to use the Fotorama API, events and methods (still not documented):

<div class="thumbs">
  <a href="1.jpg"><img src="1-thumb.jpg"></a>
  <a href="2.jpg"><img src="2-thumb.jpg"></a>
</div>

<script>
$('.thumbs').each(function () {
  $('a', this).each(function () {
    var $a = $(this);
    // set ids, will use them later
    $a.attr({id: $a.attr('href').replace(/[\/\.-]/g, '')});
  });

  var $thumbs = $(this),
      $fotorama = $thumbs.clone();

  $fotorama
      .on('fotorama:show', function (e, fotorama) {
        // pick the active thumb by id
        $('#' + fotorama.activeFrame.id)
            .addClass('active')
            .siblings()
            .removeClass('active');
      })
      .addClass('fotorama')
      .removeClass('thumbs')
      .insertBefore(this)
      .fotorama({nav: false, width: '100%', maxHeight: 400, ratio: 3/2});

  // get access to the API
  var fotorama = $fotorama.data('fotorama');

  $thumbs.on('click', 'a', function (e) {
    e.preventDefault();
    // show frame by id
    fotorama.show(this.id);
  });
});
</script>

Fiddle: http://jsfiddle.net/artpolikarpov/tnWLv/embedded/result,html,css,js/

Autres conseils

Make data-thumbwidth="1px" and css .fotorama__nav__frame--thumb {width:100px!importnant} (for example)

or

data-navwidth="20000px" and correct with your css

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top