Затухание проблемы мерцания / очереди слайд-шоу в jQuery при наведении курсора мыши (slideSwitch.js) - PullRequest
0 голосов
/ 28 июля 2010

Я адаптировал код из учебника slideSwitch.js , написанного Джоном Раашем (Jon Raasch), который по сути представляет собой затухающее слайд-шоу. Сценарий продвигает «активный» слайд к более высокому z-индексу и анимирует непрозрачность для эффекта затухания.

Работает нормально с добавленной паузой, чтобы временно остановить слайд-шоу при наведении курсора.

Проблема, с которой я столкнулся, заключается в том, что я пытаюсь помешать сценарию стоять в очереди при многократном наведении курсора на слайд-шоу. Когда это происходит, оно мерцает и приходит в бешенство.

Я экспериментировал с stop () , но не работает должным образом.

Может кто-нибудь посоветовать мне, где вставить это в следующий код? Или если я пойду не так, как надо !!

Приветствия

Люк

function slideSwitch() {
var $active = $('#hp-featured div.active');
if ( $active.length == 0 ) $active = $('#hp-featured div:last');
var $next =  $active.next().length ? $active.next()
    : $('#hp-featured div:first');
$active.addClass('last-active');
$next.css({opacity: 0.0})
    .addClass('active')
    .animate({opacity: 1.0}, 1000, function() {
        $active.removeClass('active last-active');
    });
}
$(function() {
    var playSlideshow =  setInterval( "slideSwitch()", 5000 ); 
 $('#hp-featured div').hover(function() {
     clearInterval(playSlideshow);
  },
  function() {
      playSlideshow =  setInterval( "slideSwitch()", 5000 );
  });
});

1 Ответ

1 голос
/ 01 августа 2010

Хорошо, я решил эту проблему, проблема была не в коде, а в том, что внутри родительского div 'slide' был дополнительный div.Функция запускала их обоих и вызывала хаос.

Приветствия

...