Изменение fadeTo на слайд в Jquery - PullRequest
1 голос
/ 19 ноября 2011

Стандартная галерея galeriffic исчезает между изображениями при нажатии на миниатюры.Как я могу изменить галерею, чтобы вместо этого изображение соскальзывало со страницы вправо, открывая вместо этого следующее изображение?Спасибо

<script>
    jQuery(document).ready(function($) {
        // We only want these styles applied when javascript is enabled
        $('div.navigation').css({'width' : '300px', 'float' : 'left'});
        $('div.content').css('display', 'block');

        // Initially set opacity on thumbs and add
        // additional styling for hover effect on thumbs
        var onMouseOutOpacity = 1.0;
        $('#thumbs ul.thumbs li').opacityrollover({
            mouseOutOpacity:   onMouseOutOpacity,
            mouseOverOpacity:  1.0,
            fadeSpeed:         'fast',
            exemptionSelector: '.selected'
        });

        // Initialize Advanced Galleriffic Gallery
        var gallery = $('#thumbs').galleriffic({
            delay:                     2500,
            numThumbs:                 100,
            preloadAhead:              100,
            enableTopPager:            true,
            enableBottomPager:         true,
            maxPagesToShow:            100,
            imageContainerSel:         '#slideshow',
            controlsContainerSel:      '#controls',
            captionContainerSel:       '#caption',
            loadingContainerSel:       '#loading',
            renderSSControls:          false,
            renderNavControls:         false,
            playLinkText:              '',
            pauseLinkText:             '',
            prevLinkText:              '',
            nextLinkText:              '',
            nextPageLinkText:          '',
            prevPageLinkText:          '',
            enableHistory:             false,
            autoStart:                 false,
            syncTransitions:           true,
            defaultTransitionDuration: 900,
            onSlideChange:             function(prevIndex, nextIndex) {
                // 'this' refers to the gallery, which is an extension of $('#thumbs')
                this.find('ul.thumbs').children()
                    .eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
                    .eq(nextIndex).fadeTo('fast', 1.0);
            },
            onPageTransitionOut:       function(callback) {
                this.fadeTo('fast', 0.0, callback);
            },
            onPageTransitionIn:        function() {
                this.fadeTo('fast', 1.0);
            }
        });
    });
</script>

1 Ответ

1 голос
/ 19 ноября 2011

Вы можете использовать функции jQuery click , animate и remove следующим образом:

$('#thumbs ul.thumbs').click(function() {
  var self = $(this);    
  self.animate({left: '+=500'}, 1000, 'linear', function() {
    self.remove();
  });
});

Это в основном означает:

  • Подписаться на событие щелчка всех элементов, соответствующих селектору '#thumbs ul.thumbs'
  • При нажатии на элемент
  • Анимировать его, перемещая на 500 пикселей вправо
  • Удалить элемент
...